Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.1:Staging:C
xinetd
xinetd-2.3.14-nodeadlock.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File xinetd-2.3.14-nodeadlock.diff of Package xinetd
--- xinetd/signals.c +++ xinetd/signals.c @@ -365,12 +365,18 @@ sigset_t badsigs ; const char *func = "general_handler" ; + sigset_t sigset; + /* msg() is not thread safe, so make sure we don't + * receive another signal while we're in that function. */ + sigfillset(&sigset); + sigprocmask(SIG_SETMASK, &sigset, &sigset); + /* * Do this here to catch problems like SIGSEGV in msg() */ - sigemptyset( &badsigs ) ; - sigaddset( &badsigs, sig ) ; - (void) sigprocmask( SIG_UNBLOCK, &badsigs, SIGSET_NULL ) ; + // sigemptyset( &badsigs ) ; + // sigaddset( &badsigs, sig ) ; + // (void) sigprocmask( SIG_UNBLOCK, &badsigs, SIGSET_NULL ) ; switch ( sig ) { @@ -393,6 +399,7 @@ if ( debug.on && sig == SIGINT ) exit( 1 ) ; } + sigprocmask(SIG_SETMASK, &sigset, NULL); }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor