|
Boost : |
Subject: Re: [boost] [gsoc] Boost.Process done
From: Boris Schaeling (boris_at_[hidden])
Date: 2010-09-11 13:12:21
On Sat, 11 Sep 2010 00:02:38 +0200, Jeremy Maitin-Shepard
<jeremy_at_[hidden]> wrote:
> [...]implementing the communication. (Probably it would make sense to
> implement signal handling support as a general asio facility.)
There is a Boost.Asio extension for signal handling in Trac:
<https://svn.boost.org/trac/boost/ticket/2879>
Actually there are two extensions. While mine follows Boost.Asio patterns
more closely I remember that Dmitry pointed out some issues with the
current implementation (see
<http://thread.gmane.org/gmane.comp.lib.boost.devel/201581/focus=201923>).
The main problem with his solution is that it doesn't support synchronous
wait operations. Apart from that his implementation seems to be more
lightweight. As I didn't look into the issues yet Dmitry had mentioned I
wouldn't recommend anyone to use my Boost.Asio extension currently.
> There is, of course, the general problem that setting a signal handler
> involves changing the global program state, and so it needs to be
> coordinated to some extent with the rest of the program. At the low
Exactly! As there also can be only one signal handler while you can have
multiple Boost.Asio I/O service objects and I/O objects it gets even more
complicated. As we felt it's more difficult to use libraries from
different sources in one application when they all depend on SIGCHLD we
went with wait(). You still need to coordinate. But this is something
which we hope is easier to handle than libraries which steal signal
handlers from each other.
Boris
> [...]
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk