Shutting down thread with Socket blocking for connection

Dmitry Olshansky dmitry.olsh at gmail.com
Mon Mar 5 05:53:05 PST 2012


On 05.03.2012 16:46, Regan Heath wrote:
> A more efficient approach is to use async socket routines and an event
> object.
>
> So, in main you create a shared event object, then start the listen thread.
> In listen you call an async select or accept, and then wait on that
> /and/ the shared event object.
>
> To stop listen you set the shared event, which wakes it, and it notices
> the event is set and performs the cleanup/stops itself.
>
> I'm not sure if phobos has support for this sort of thing yet, but you
> could always leverage the underlying C library. I may be able to offer
> some pointers on Windows, but I haven't done something like this on any
> unix platform for a while..
>

Yeah, the main problem with event systems & async I/O is they are not 
cross-platform at all. And looking at linux even across one OS. To wrap 
them sanely on all platforms is no trivial task. I wish we had it in 
phobos though.

-- 
Dmitry Olshansky


More information about the Digitalmars-d-learn mailing list