- Lookup HP cleaning recommendations.
- Lookup HP tape replacement recommendations (see trouble shooting autochanger)
- Add more obvious documentation of @ for conf files.
+- Document doing table repair
Testing to do: (painful)
- Test drive polling!
For version 1.35:
+- Add All Local Partitions = yes to new style saves.
+- Document streams and how to implement them.
- On Win95
The error I when I installed 1.34.2 clients:
The BACULA-FD file is
Also 12:00am works fine. 0:00pm also works (which I don't think
should). None of the values 12:00pm - 12:59pm work for that matter.
- Add level to estimate command.
+- For each job type (Admin, Restore, ...) require only the really necessary
+ fields.
- Fix option 2 of restore -- list where file is backed up -- require Client,
then list last 20 backups.
- Add all pools in Dir conf to DB also update them to catch changed
// Create a pipe for the child process's STDIN.
- if (! CreatePipe(&hChildStdinRd, &hChildStdinWr, &saAttr, 0)) {
+ if (!CreatePipe(&hChildStdinRd, &hChildStdinWr, &saAttr, 0)) {
ErrorExit("Stdin pipe creation failed\n");
goto cleanup;
}
}
// spawn program with redirected handles as appropriate
bpipe->worker_pid = (pid_t)
- CreateChildProcess(prog, // commandline
- hChildStdinRd, // stdin HANDLE
- hChildStdoutWr, // stdout HANDLE
- hChildStdoutWr);// stderr HANDLE
+ CreateChildProcess(prog, // commandline
+ hChildStdinRd, // stdin HANDLE
+ hChildStdoutWr, // stdout HANDLE
+ hChildStdoutWr); // stderr HANDLE
if ((HANDLE) bpipe->worker_pid == INVALID_HANDLE_VALUE)
goto cleanup;
// detect eof.
// ugly but convert WIN32 HANDLE to FILE*
int rfd = _open_osfhandle((long)hChildStdoutRdDup, O_RDONLY);
- bpipe->rfd = _fdopen(rfd, "r");
+ if (rfd >= 0) {
+ bpipe->rfd = _fdopen(rfd, "r");
+ }
}
if (mode_write) {
CloseHandle(hChildStdinRd); // close our read side so as not
// to interfre with child's copy
// ugly but convert WIN32 HANDLE to FILE*
int wfd = _open_osfhandle((long)hChildStdinWrDup, O_WRONLY);
- bpipe->wfd = _fdopen(wfd, "w");
+ if (wfd >= 0) {
+ bpipe->wfd = _fdopen(wfd, "w");
+ }
}
if (wait > 0) {
if (bpipe->wait) {
int remaining_wait = bpipe->wait;
- do
- {
+ do {
DWORD exitCode;
- if (!GetExitCodeProcess((HANDLE)bpipe->worker_pid, &exitCode))
- {
+ if (!GetExitCodeProcess((HANDLE)bpipe->worker_pid, &exitCode)) {
const char *err = errorString();
rval = GetLastError();
d_msg(__FILE__, __LINE__, 0,