]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - signal.c
audiod: Fix error checking in init_default_filters().
[paraslash.git] / signal.c
index 9153349fa8b20e96e56dfac3522aebdc2a6ebaff..9b328caf6550da385eb64c824217da7f3abd4588 100644 (file)
--- a/signal.c
+++ b/signal.c
@@ -1,8 +1,4 @@
-/*
- * Copyright (C) 2004 Andre Noll <maan@tuebingen.mpg.de>
- *
- * Licensed under the GPL v2. For licencing details see COPYING.
- */
+/* Copyright (C) 2004 Andre Noll <maan@tuebingen.mpg.de>, see file COPYING. */
 /** \file signal.c Signal handling functions. */
 
 #include <signal.h>
@@ -76,10 +72,13 @@ static void generic_signal_handler(int s)
                errno = save_errno;
                return;
        }
-       if (ret < 0)
-               PARA_EMERG_LOG("%s\n", strerror(errno));
-       else
-               PARA_EMERG_LOG("short write to signal pipe\n");
+       /*
+        * This is a fatal error which should never happen. We must not call
+        * PARA_XXX_LOG() here because this might acquire the log mutex which
+        * is already taken by the main program if the interrupt occurs while a
+        * log message is being printed. The mutex will not be released as long
+        * as this signal handler is running, so a deadlock ensues.
+        */
        exit(EXIT_FAILURE);
 }