Re: pluto not responding -- possibly not re-entrant (updown)
"John S. Denker" <[email protected]> Wed, 12 Mar 2003 15:52:01 -0500
| Newsgroups | gmane.network.freeswan.devel |
|---|---|
| Message-ID | <[email protected]> |
On 03/12/2003 03:11 PM, D. Hugh Redelmeier wrote: > Pluto is what structured as a transaction system. Essentially like an > even-driven program. It receives an event, processes it completely > (atomically), and then goes back to wait for the next event. That is > a transaction. > > The updown script is run within a transaction. No whack command > issued by the updown can complete until the updown script has returned > control to its caller. This needs to be documented. It all makes perfect sense in retrospect, but it came as a rude surprise to me. Also, as mentioned in my previous note, one could imagine detecting attempted re-entrancy (perhaps based on pgid) and producing an error message rather than a hang. > It is possible for the updown script to fork off a subprocess that > lives past the end of the main script. Such a subprocess could > reasonably include a whack command. Yes, I have long since added a well-commented "&" to my _downup script. Works fine. I didn't even need to restart pluto; I just needed to kill about a dozen child processes to untangle the deadly embrace that resulted from the previous lack of "&".