audiod: Implement --config-file option.
[paraslash.git] / signal.c
index f8be2f4..9168e91 100644 (file)
--- a/signal.c
+++ b/signal.c
@@ -57,8 +57,15 @@ err_out:
  */
 static void generic_signal_handler(int s)
 {
-       write(signal_pipe[1], &s, sizeof(int));
-       //fprintf(stderr, "got sig %i, write returned %d\n", s, ret);
+       ssize_t ret = write(signal_pipe[1], &s, sizeof(int));
+
+       if (ret == sizeof(int))
+               return;
+       if (ret < 0)
+               PARA_EMERG_LOG("%s\n", strerror(errno));
+       else
+               PARA_EMERG_LOG("short write to signal pipe\n");
+       exit(EXIT_FAILURE);
 }
 
 /**