Author: kgiusti
Date: Tue May 20 18:03:46 2014
New Revision: 1596341

URL: http://svn.apache.org/r1596341
Log:
QPID-5637: reset Selector singleton across fork.

Modified:
    qpid/trunk/qpid/python/qpid/selector.py

Modified: qpid/trunk/qpid/python/qpid/selector.py
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/python/qpid/selector.py?rev=1596341&r1=1596340&r2=1596341&view=diff
==============================================================================
--- qpid/trunk/qpid/python/qpid/selector.py (original)
+++ qpid/trunk/qpid/python/qpid/selector.py Tue May 20 18:03:46 2014
@@ -16,7 +16,7 @@
 # specific language governing permissions and limitations
 # under the License.
 #
-import atexit, time, errno
+import atexit, time, errno, os
 from compat import select, set, selectable_waiter
 from threading import Thread, Lock
 
@@ -43,16 +43,18 @@ class Selector:
 
   lock = Lock()
   DEFAULT = None
+  _current_pid = None
 
   @staticmethod
   def default():
     Selector.lock.acquire()
     try:
-      if Selector.DEFAULT is None:
+      if Selector.DEFAULT is None or Selector._current_pid != os.getpid():
         sel = Selector()
         atexit.register(sel.stop)
         sel.start()
         Selector.DEFAULT = sel
+        Selector._current_pid = os.getpid()
       return Selector.DEFAULT
     finally:
       Selector.lock.release()



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to