##// END OF EJS Templates
more py25 compat fixes
marcink -
r2730:7949bc80 beta
parent child Browse files
Show More
@@ -530,3 +530,56 b' else:'
530 530 memo[id(self)] = result
531 531 result.__init__(deepcopy(tuple(self), memo))
532 532 return result
533
534
535 #==============================================================================
536 # threading.Event
537 #==============================================================================
538
539 if __py_version__ >= (2, 6):
540 from threading import Event
541 else:
542 from threading import _Verbose, Condition, Lock
543
544 def Event(*args, **kwargs):
545 return _Event(*args, **kwargs)
546
547 class _Event(_Verbose):
548
549 # After Tim Peters' event class (without is_posted())
550
551 def __init__(self, verbose=None):
552 _Verbose.__init__(self, verbose)
553 self.__cond = Condition(Lock())
554 self.__flag = False
555
556 def isSet(self):
557 return self.__flag
558
559 is_set = isSet
560
561 def set(self):
562 self.__cond.acquire()
563 try:
564 self.__flag = True
565 self.__cond.notify_all()
566 finally:
567 self.__cond.release()
568
569 def clear(self):
570 self.__cond.acquire()
571 try:
572 self.__flag = False
573 finally:
574 self.__cond.release()
575
576 def wait(self, timeout=None):
577 self.__cond.acquire()
578 try:
579 if not self.__flag:
580 self.__cond.wait(timeout)
581 finally:
582 self.__cond.release()
583
584
585
@@ -25,7 +25,7 b' If not, see <http://www.gnu.org/licenses'
25 25 import os
26 26 import subprocess
27 27 import threading
28 from rhodecode.lib.compat import deque
28 from rhodecode.lib.compat import deque, Event
29 29
30 30
31 31 class StreamFeeder(threading.Thread):
@@ -89,16 +89,16 b' class InputStreamChunker(threading.Threa'
89 89 self.chunk_count_max = int(buffer_size / chunk_size) + 1
90 90 self.chunk_size = chunk_size
91 91
92 self.data_added = threading.Event()
92 self.data_added = Event()
93 93 self.data_added.clear()
94 94
95 self.keep_reading = threading.Event()
95 self.keep_reading = Event()
96 96 self.keep_reading.set()
97 97
98 self.EOF = threading.Event()
98 self.EOF = Event()
99 99 self.EOF.clear()
100 100
101 self.go = threading.Event()
101 self.go = Event()
102 102 self.go.set()
103 103
104 104 def stop(self):
General Comments 0
You need to be logged in to leave comments. Login now