Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Thermos loses track of double forking processes, meaning on task teardown the daemonized process will not receive a signal to shut down cleanly.
This can be a serious issue if one is running two processes:
1. nginx which demonizes and accepts HTTP requests.
2. A backend processes that receives traffic from nginx over a local socket.
On task shutdown thermos will send SIGTERM to 2 and not 1, causing nginx to still accept traffic even though the backend is dead. If thermos could also send SIGTERM to 1, the task would tear down cleanly.