cups/cups-str3399.patch

49 lines
1.7 KiB
Diff

diff -up cups-1.4.2/CHANGES-1.4.txt.str3399 cups-1.4.2/CHANGES-1.4.txt
diff -up cups-1.4.2/scheduler/process.c.str3399 cups-1.4.2/scheduler/process.c
--- cups-1.4.2/scheduler/process.c.str3399 2009-05-16 04:04:48.000000000 +0100
+++ cups-1.4.2/scheduler/process.c 2009-11-16 17:15:26.104542409 +0000
@@ -505,6 +505,7 @@ cupsdStartProcess(
#ifdef HAVE_SIGSET
sigset(SIGTERM, SIG_DFL);
sigset(SIGCHLD, SIG_DFL);
+ sigset(SIGPIPE, SIG_DFL);
#elif defined(HAVE_SIGACTION)
memset(&action, 0, sizeof(action));
@@ -513,9 +514,11 @@ cupsdStartProcess(
sigaction(SIGTERM, &action, NULL);
sigaction(SIGCHLD, &action, NULL);
+ sigaction(SIGPIPE, &action, NULL);
#else
signal(SIGTERM, SIG_DFL);
signal(SIGCHLD, SIG_DFL);
+ signal(SIGPIPE, SIG_DFL);
#endif /* HAVE_SIGSET */
cupsdReleaseSignals();
--- cups-1.4.2/scheduler/main.c.str3399 2010-03-02 11:04:28.968100478 +0000
+++ cups-1.4.2/scheduler/main.c 2010-03-02 11:04:47.442226409 +0000
@@ -1733,7 +1733,7 @@ process_children(void)
job->backend = -pid;
if (status && status != SIGTERM && status != SIGKILL &&
- job->status >= 0)
+ status != SIGPIPE && job->status >= 0)
{
/*
* An error occurred; save the exit status so we know to stop
@@ -1829,6 +1829,12 @@ process_children(void)
"PID %d (%s) was terminated normally with signal %d.",
pid, name, status);
}
+ else if (status == SIGPIPE)
+ {
+ cupsdLogMessage(CUPSD_LOG_DEBUG,
+ "PID %d (%s) did not catch or ignore signal %d.",
+ pid, name, status);
+ }
else if (status)
{
if (WIFEXITED(status))