Kern's ToDo List
- 10 June 2004
+ 20 June 2004
1.35 Items to do:
- Implement SIGHUP in Dir
(Implement resources on a single pointer)
+- Make btape release the drive during the "test" append.
- Do tape alerts -- see tapealert.txt
+- Revisit and revise Disaster Recovery (fix SCSI and RAID
+ disk detection)
+- Document a get out of jail procedure if everything breaks if
+ you lost/broke the Catalog -- do the same for "I know my
+ file is there how do I get it back?".
- When restore started from console, report jobid.
- Win32 inc problem when new directory added.
- On Win95
- Add priority to Scheduled jobs status listing.
- Add multiple-media-types.txt
- look at mxt-changer.html
-- Document a get out of jail procedure if everything breaks if you lost/broke
- the Catalog.
- Make ? do a help command (no return needed).
- Implement restore directory.
- Add All Local Partitions = yes to new style saves.
- Implement fast tree insert (doubly linked list?)
- Disallow using Internal database
- Feedback while the tree is being built.
-
void dump_resource(int type, RES *reshdr, void sendit(void *sock, const char *fmt, ...), void *sock)
{
URES *res = (URES *)reshdr;
- int recurse = 1;
+ bool recurse = true;
if (res == NULL) {
printf("No record for %d %s\n", type, res_to_str(type));
}
if (type < 0) { /* no recursion */
type = - type;
- recurse = 0;
+ recurse = false;
}
switch (type) {
case R_CONSOLE:
void dump_resource(int type, RES *reshdr, void sendit(void *sock, const char *fmt, ...), void *sock)
{
URES *res = (URES *)reshdr;
- int recurse = 1;
+ bool recurse = true;
if (res == NULL) {
printf("No record for %d %s\n", type, res_to_str(type));
}
if (type < 0) { /* no recursion */
type = - type;
- recurse = 0;
+ recurse = false;
}
switch (type) {
case R_DIRECTOR:
/*
* Handle signals here
*/
-extern "C" {
- static void signal_handler(int sig);
-}
-
-static void signal_handler(int sig)
+extern "C" void signal_handler(int sig)
{
static int already_dead = 0;
/* If we come back more than once, get out fast! */
- if (already_dead > 1) {
- exit(1);
- }
- /* If we come back once, take normal exit */
if (already_dead) {
exit(1);
}
Dmsg2(200, "sig=%d %s\n", sig, sig_names[sig]);
- /* Ignore certain signals */
+ /* Ignore certain signals -- SIGUSR2 used to interrupt threads */
if (sig == SIGCHLD || sig == SIGUSR2) {
return;
}
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
-// You should have received a copcloy of the GNU General Public
+// You should have received a copy of the GNU General Public
// License along with this program; if not, write to the Free
// Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
// MA 02111-1307, USA.
extern void d_msg(const char *file, int line, int level, const char *fmt,...);
extern DWORD g_platform_id;
-// from CYGWIN (should be diff between Jan 1 1601 and Jan 1 1970
+// from MicroSoft SDK (KES) is the diff between Jan 1 1601 and Jan 1 1970
#ifdef HAVE_MINGW
#define WIN32_FILETIME_ADJUST 0x19DB1DED53E8000UL //Not sure it works
#else
ch2 = *s2;
s1++;
s2++;
- if (ch1 == 0 || tolower(ch1) != tolower(ch2)) break;
+ if (ch1 == 0 || tolower(ch1) != tolower(ch2)) break;
}
return(ch1 - ch2);
int inquote = 0;
for (const char *cp = cmdline; *cp; cp++)
{
- if (*cp == '"') {
- inquote = !inquote;
- }
- if (!inquote && isspace(*cp))
- break;
+ if (*cp == '"') {
+ inquote = !inquote;
+ }
+ if (!inquote && isspace(*cp))
+ break;
}
-
+
int len = cp - cmdline;
char *rval = (char *)malloc(len+1);
const char *comspec = getenv("COMSPEC");
if (comspec == NULL) // should never happen
- return INVALID_HANDLE_VALUE;
+ return INVALID_HANDLE_VALUE;
char *cmdLine = (char *)alloca(strlen(cmdline) + strlen(comspec) + 16);
}
CloseHandle(hChildStdoutRd);
- hChildStdoutRd = INVALID_HANDLE_VALUE;
+ hChildStdoutRd = INVALID_HANDLE_VALUE;
}
if (mode_write) {
}
CloseHandle(hChildStdinWr);
- hChildStdinWr = INVALID_HANDLE_VALUE;
+ hChildStdinWr = INVALID_HANDLE_VALUE;
}
// spawn program with redirected handles as appropriate
bpipe->worker_pid = (pid_t)
{
int rval = _close(fd);
if (rval == -1)
- rval = closesocket(fd);
+ rval = closesocket(fd);
return rval;
}