Message340543
The current implementation of the semaphore_tracker creates a new process for each children.
The easy fix would be to pass the _pid to the children but the current mechanism to check if the semaphore_tracker is alive relies on waitpid which cannot be used in child processes (the semaphore_tracker is only a sibling of these processes). The main issue is to have a reliable check that either:
The pipe is open. This is what is done here by sending a message. I don't know if there is a more efficient way to check it.
Check that a given pid is alive. As we cannot rely on waitpid, I don't see an efficient mechanism.
I propose to add a PROBE command in the semaphore tracker. When the pipe is closed, the send command will fail, meaning that the semaphore tracker is down. |
|
Date |
User |
Action |
Args |
2019-04-19 13:44:01 | tomMoral | set | recipients:
+ tomMoral |
2019-04-19 13:44:01 | tomMoral | set | messageid: <1555681441.41.0.870057455059.issue36668@roundup.psfhosted.org> |
2019-04-19 13:44:01 | tomMoral | link | issue36668 messages |
2019-04-19 13:44:01 | tomMoral | create | |
|