[launchd-changes] [23433] trunk/launchd/src/launchd_core_logic.c
source_changes at macosforge.org
source_changes at macosforge.org
Mon Oct 1 08:20:34 PDT 2007
Revision: 23433
http://trac.macosforge.org/projects/launchd/changeset/23433
Author: zarzycki at apple.com
Date: 2007-10-01 08:20:34 -0700 (Mon, 01 Oct 2007)
Log Message:
-----------
<rdar://problem/5500277> Bug: launchd_core_logic.c:3857 (23417):0: j->wait4pipe_eof
Modified Paths:
--------------
trunk/launchd/src/launchd_core_logic.c
Modified: trunk/launchd/src/launchd_core_logic.c
===================================================================
--- trunk/launchd/src/launchd_core_logic.c 2007-09-27 17:02:23 UTC (rev 23432)
+++ trunk/launchd/src/launchd_core_logic.c 2007-10-01 15:20:34 UTC (rev 23433)
@@ -2221,6 +2221,7 @@
job_log_stdouterr(job_t j)
{
char *msg, *bufindex, *buf = malloc(BIG_PIPE_SIZE + 1);
+ bool close_log_redir = false;
ssize_t rsz;
if (!job_assumes(j, buf != NULL)) {
@@ -2233,10 +2234,10 @@
if (rsz == 0) {
job_log(j, LOG_DEBUG, "Standard out/error pipe closed");
- job_assumes(j, runtime_close(j->log_redirect_fd) != -1);
- j->log_redirect_fd = 0;
- job_dispatch(j, false);
- } else if (job_assumes(j, rsz != -1)) {
+ close_log_redir = true;
+ } else if (!job_assumes(j, rsz != -1)) {
+ close_log_redir = true;
+ } else {
buf[rsz] = '\0';
while ((msg = strsep(&bufindex, "\n\r"))) {
@@ -2247,6 +2248,12 @@
}
free(buf);
+
+ if (close_log_redir) {
+ job_assumes(j, runtime_close(j->log_redirect_fd) != -1);
+ j->log_redirect_fd = 0;
+ job_dispatch(j, false);
+ }
}
void
@@ -3886,8 +3893,12 @@
}
if (j->log_redirect_fd) {
- job_assumes(j, j->wait4pipe_eof);
- return "Standard out/error is still valid";
+ if (job_assumes(j, j->wait4pipe_eof)) {
+ return "Standard out/error is still valid";
+ } else {
+ job_assumes(j, runtime_close(j->log_redirect_fd) != -1);
+ j->log_redirect_fd = 0;
+ }
}
if (j->priv_port_has_senders) {
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/launchd-changes/attachments/20071001/4805777d/attachment.html
More information about the launchd-changes
mailing list