Signals, threads, and libevent may not necessarily play nice
Sometimes when you control-c a server, multiple threads all get a sigint, and handle it oddly.
Feb 27 03:29:09.348 [notice] foo Feb 27 03:29:09.349 [notice] Interrupt: will shut down in 30 seconds. In terrupt again to exit now. Feb 27 03:29:09.350 [notice] foo Feb 27 03:29:09.351 [notice] Sigint received a second time; exiting now. Feb 27 03:30:35.950 [notice] 1024 Feb 27 03:30:35.966 [notice] Interrupt: will shut down in 30 seconds. In terrupt again to exit now. Feb 27 03:30:35.967 [notice] 1024 Feb 27 03:30:35.968 [notice] Sigint received a second time; exiting now. hm. ok, so, not a thread thing. looks like it's getting called twice. does lib event let you double-register? is your tor_get_thread_id() known to work?
Haven't verified it, no, but it is Really Simple. And if it's broken, so is pthreads. ooook :) ah. how's this: i'm not sending a sigint, i'm typing !^c. do you suppose that matters? it does. ackpth! whee. is that threads or libevent?
- nickm has no idea what that means. are we not allowed to sig_ign a !^c?
No, I think we are. does !^c sent a sigint to all threads? s/sent/send/ *** You have new email. Unspecified afaicr. 'woo' Threads and signals is one of the canonically fudgy areas of pthreads iirc. ok i did a kill -INT of a child, and it called hibernate-begin-exit they are not ignoring signals like we'd like them to. hmmmmm.
[Automatically added by flyspray2trac: Operating System: All]