Move state reporting initialization to after worker forking
We start state reporting thread before forking child processes. This
leads to possibility of fork in the middle of reporting process. This
can cause child processes to start with corrupted global state. In [0]
it represented itself as metadata agent not being able to make RPC call
because of lock acquired in main process before fork and released after
fork. See bug description for details.
Reviewed: https:/ /review. openstack. org/331672 /git.openstack. org/cgit/ openstack/ neutron/ commit/ ?id=7eeeb99a553 85b5fc3d4ce1a3b 390e41be252b17
Committed: https:/
Submitter: Jenkins
Branch: master
commit 7eeeb99a55385b5 fc3d4ce1a3b390e 41be252b17
Author: Yuriy Taraday <email address hidden>
Date: Mon Jun 20 16:39:03 2016 +0300
Move state reporting initialization to after worker forking
We start state reporting thread before forking child processes. This
leads to possibility of fork in the middle of reporting process. This
can cause child processes to start with corrupted global state. In [0]
it represented itself as metadata agent not being able to make RPC call
because of lock acquired in main process before fork and released after
fork. See bug description for details.
[0] https:/ /review. openstack. org/312393
Partial-Bug: 1594439
Change-Id: Id5079a296bc402 c6f5b6cdb2df728 11eab5bc6ed