diff options
author | dequis <dx@dxzone.com.ar> | 2014-11-26 02:25:05 -0300 |
---|---|---|
committer | dequis <dx@dxzone.com.ar> | 2014-11-26 02:25:05 -0300 |
commit | 7233f68b3d99c447d4f0cd855b179b9079383bb2 (patch) | |
tree | f06359d045523795c6e6f75dd68d28c5412dec9a /irc_util.c | |
parent | 6f6725c5bbec31d1b9f6937f229f140828e50e45 (diff) |
Improved signal handling to avoid deadlocks
- SIGSEGV: broadcast a message manually, avoiding the usual irc_write()
functions which are unsafe due to malloc().
- SIGTERM, SIGINT: Write to a pipe which gets handled in the main loop by
bitlbee_shutdown(), saving configs and stuff.
- SIGCHLD: set to ignore explicitly, which handles zombies correctly.
This also drops some log messages with 'info' level, which in practice
means they never got logged.
- SIGPIPE: set to ignore (nobody cares)
- SIGILL, SIGBUS, SIGFPE, SIGQUIT, SIGXCPU: Not handling anymore.
Diffstat (limited to 'irc_util.c')
0 files changed, 0 insertions, 0 deletions