Terminating multiple processes

Arek arychlinski at gmail.com
Thu Feb 1 12:15:27 UTC 2018


On Thursday, 1 February 2018 at 11:42:32 UTC, Russel Winder wrote:
> On Wed, 2018-01-31 at 22:15 +0000, Arek via Digitalmars-d-learn 
> wrote:
>> 
> […]
>
> The problem is actually a thread blocked in an inotify blocking 
> read. As both Steven and yourself have pointed out I am going 
> to have to use a timeout to check the state of the application.
>
Try to use inotify in non-blocking mode (an example here: 
https://gist.github.com/pkrnjevic/6016356) with select or epoll 
and timeouts.

>
> I guess there is a choice here between shared memory to set the 
> termination flag, or using an input channel and sending the 
> termination message. I think the latter may be preferable, and 
> certainly more consistent with how the other threads terminate.
>
I would use shared memory here (eg. atomic bool) because any 
communication channel introduces possibility of further blocking 
problems.

Arek





More information about the Digitalmars-d-learn mailing list