Lines 154-159
class Scheduler(PollScheduler):
Link Here
|
154 |
self.target_root = settings["EROOT"] |
154 |
self.target_root = settings["EROOT"] |
155 |
self.trees = trees |
155 |
self.trees = trees |
156 |
self.myopts = myopts |
156 |
self.myopts = myopts |
|
|
157 |
self.timestamp = time.clock() |
157 |
self._spinner = spinner |
158 |
self._spinner = spinner |
158 |
self._mtimedb = mtimedb |
159 |
self._mtimedb = mtimedb |
159 |
self._favorites = favorites |
160 |
self._favorites = favorites |
Lines 1006-1011
class Scheduler(PollScheduler):
Link Here
|
1006 |
earlier_sigint_handler = signal.signal(signal.SIGINT, sighandler) |
1007 |
earlier_sigint_handler = signal.signal(signal.SIGINT, sighandler) |
1007 |
earlier_sigterm_handler = signal.signal(signal.SIGTERM, sighandler) |
1008 |
earlier_sigterm_handler = signal.signal(signal.SIGTERM, sighandler) |
1008 |
|
1009 |
|
|
|
1010 |
# handles SIGCONT when working with --jobs |
1011 |
# this prevents schedule_tasks from rescheduling too |
1012 |
# early after SIGCONT |
1013 |
# this should delay rescheduling by about >5 seconds |
1014 |
def sigcont_handler(self): |
1015 |
if self._jobs and self._max_load is not None: |
1016 |
self.timestamp = time.clock() + 5.0 |
1017 |
|
1009 |
try: |
1018 |
try: |
1010 |
rval = self._merge() |
1019 |
rval = self._merge() |
1011 |
finally: |
1020 |
finally: |
Lines 1542-1547
class Scheduler(PollScheduler):
Link Here
|
1542 |
def _schedule_tasks(self): |
1551 |
def _schedule_tasks(self): |
1543 |
|
1552 |
|
1544 |
while True: |
1553 |
while True: |
|
|
1554 |
# Sleep if timestamp is 'in future', this prevents |
1555 |
# scheduler to reschedule after SIGCONT signal |
1556 |
# signal handler should set this to 'near future' |
1557 |
if self._jobs and self._max_load is not None: |
1558 |
while (self.timestamp > time.clock()): |
1559 |
time.sleep(1) |
1545 |
|
1560 |
|
1546 |
state_change = 0 |
1561 |
state_change = 0 |
1547 |
|
1562 |
|