X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fsignals.c;h=f31bc528c45893bfaab881434605cdc11e7c7fec;hb=8d71683b7632b5b621dd21418bf33ff90865b4e0;hp=b712f7e74da8bc819a6d9fd5d0b401aaee43d0d5;hpb=1e3f34c7693bcabae8e443ac1b246680ef9b60e2;p=sliver-openvswitch.git diff --git a/lib/signals.c b/lib/signals.c index b712f7e74..f31bc528c 100644 --- a/lib/signals.c +++ b/lib/signals.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2009, 2011, 2012 Nicira, Inc. + * Copyright (c) 2008, 2009, 2011, 2012, 2013 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,7 +16,6 @@ #include #include "signals.h" -#include #include #include #include @@ -63,9 +62,7 @@ signal_init(void) static bool inited; if (!inited) { inited = true; - xpipe(fds); - xset_nonblocking(fds[0]); - xset_nonblocking(fds[1]); + xpipe_nonblocking(fds); } } @@ -84,7 +81,7 @@ signal_register(int signr) s->signr = signr; /* Set up signal handler. */ - assert(signr >= 1 && signr < N_SIGNALS); + ovs_assert(signr >= 1 && signr < N_SIGNALS); memset(&sa, 0, sizeof sa); sa.sa_handler = signal_handler; sigemptyset(&sa.sa_mask); @@ -171,9 +168,10 @@ xsigaction(int signum, const struct sigaction *new, struct sigaction *old) } void -xsigprocmask(int how, const sigset_t *new, sigset_t *old) +xpthread_sigmask(int how, const sigset_t *new, sigset_t *old) { - if (sigprocmask(how, new, old)) { - VLOG_FATAL("sigprocmask failed (%s)", strerror(errno)); + int error = pthread_sigmask(how, new, old); + if (error) { + VLOG_FATAL("pthread_sigmask failed (%s)", strerror(error)); } }