]> git.meshlink.io Git - meshlink/commitdiff
Fix signal pipe creation when compiling with -DNDEBUG.
authorGuus Sliepen <guus@meshlink.io>
Wed, 30 Oct 2019 17:19:31 +0000 (18:19 +0100)
committerGuus Sliepen <guus@meshlink.io>
Wed, 30 Oct 2019 17:19:31 +0000 (18:19 +0100)
Argument of a call to assert() should never have side effects.

src/event.c

index aed423ad9b3c29b691c379129aa8047f08692d9a..f72529efd133843f51b78a9fe89592f45d726311 100644 (file)
@@ -174,8 +174,12 @@ static void signalio_handler(event_loop_t *loop, void *data, int flags) {
 }
 
 static void pipe_init(event_loop_t *loop) {
-       assert(pipe(loop->pipefd) == 0);
-       io_add(loop, &loop->signalio, signalio_handler, NULL, loop->pipefd[0], IO_READ);
+       int result = pipe(loop->pipefd);
+       assert(result == 0);
+
+       if(result == 0) {
+               io_add(loop, &loop->signalio, signalio_handler, NULL, loop->pipefd[0], IO_READ);
+       }
 }
 
 static void pipe_exit(event_loop_t *loop) {