Changelog since HylaFAX 4.3.3
+* Bug 811: children should exit with _exit() (12 Mar 2007)
* Handle instances where ECM is negotiated but the sender
transmits non-ECM data and signalling (12 Mar 2007)
* Handle MPS/EOP/EOM/CRP when expecting DCS, i.e. after RTN
}
} while (!gotEOT && !recvdDCN && tbuf[0] != 0 && Sys::now()-rrstart < 60);
Sys::read(fcfd[0], NULL, 1);
- exit(0);
+ _exit(0);
default: // parent
Sys::close(fcfd[0]);
TIFFWriteDirectory(tif);
} else tbuf[0] = 0; // parent finished writeECMData
} while (!gotEOT && !recvdDCN && tbuf[0] != 0 && Sys::now()-rrstart < 60);
Sys::read(fcfd[0], NULL, 1);
- exit(0);
+ _exit(0);
default: // parent
Sys::close(fcfd[0]);
writeECMData(tif, block, cc, params, seq);
}
// write the line count to the pipe
Sys::write(counterFd[1], (const char*) &recvEOLCount, sizeof(recvEOLCount));
- exit(0);
+ _exit(0);
default: // parent
Sys::close(decoderFd[0]);
Sys::close(counterFd[1]);
// NB: partially fill in info for notification call
notifyRecvBegun(info);
sleep(1); // XXX give parent time
- exit(0);
+ _exit(0);
case -1:
logError("Can not fork for non-priority processing.");
notifyRecvBegun(info);
if (pid > 0) (void) Sys::waitpid(pid);
notifyDocumentRecvd(info);
sleep(1); // XXX give parent time
- exit(0);
+ _exit(0);
case -1:
logError("Can not fork for non-priority logging.");
notifyDocumentRecvd(info);
if (pid > 0) (void) Sys::waitpid(pid);
notifyPageRecvd(tif, info, ppm);
sleep(1); // XXX give parent time
- exit(0);
+ _exit(0);
case -1:
logError("Can not fork for non-priority logging.");
notifyPageRecvd(tif, info, ppm);
Sys::close(pipefd[1]);
execl("/bin/sh", "sh", "-c", (const char*) cmd, (char*) NULL);
sleep(1);
- exit(1);
+ _exit(1);
default:
Sys::close(pipefd[1]);
{
case 0:
sendJobStatus(req.jobid, "d%s", (const char*) si.encode());
sleep(1); // XXX give parent time
- exit(0);
+ _exit(0);
case -1:
logError("Can not fork for non-priority logging.");
sendJobStatus(req.jobid, "d%s", (const char*) si.encode());