Replace loopingcall in notifier with a delayed send
The loopingcall thread here was started before processes fork and so
the thread stops working after the fork call. This is a problem that
will probably need to be worked out in the long run.
To ensure that this notifier works correctly in all processes, this
change replaces the persistent loopingcall thread with a thread
created on demand to delay and batch up notifications. The first
notification will trigger spawning the thread to wait to send it. Any
notifications that come in the meantime will notice that there is
already a thread waiting to send and will return without spawning.
Reviewed: https:/ /review. openstack. org/84798 /git.openstack. org/cgit/ openstack/ neutron/ commit/ ?id=3be1d7a75c5 ec754825e99e0a8 d95b4e1521ae4b
Committed: https:/
Submitter: Jenkins
Branch: master
commit 3be1d7a75c5ec75 4825e99e0a8d95b 4e1521ae4b
Author: Carl Baldwin <email address hidden>
Date: Wed Apr 2 16:53:33 2014 +0000
Replace loopingcall in notifier with a delayed send
The loopingcall thread here was started before processes fork and so
the thread stops working after the fork call. This is a problem that
will probably need to be worked out in the long run.
To ensure that this notifier works correctly in all processes, this
change replaces the persistent loopingcall thread with a thread
created on demand to delay and batch up notifications. The first
notification will trigger spawning the thread to wait to send it. Any
notifications that come in the meantime will notice that there is
already a thread waiting to send and will return without spawning.
Change-Id: I519d4e89b8cee3 41c0e1cfffbce3e 77151e8202a
Closes-Bug: #1301035