Rename jwack.py -> jobserver.py.
I'm not really sure why I called it jwack. I think it was kind of a wack jobserver(tm). But nowadays most of the wack-ness is gone.
This commit is contained in:
parent
6e96395d48
commit
65cf1c9854
4 changed files with 18 additions and 18 deletions
|
|
@ -1,5 +1,5 @@
|
|||
import sys, os, errno, stat, signal, time
|
||||
import vars, jwack, state, paths
|
||||
import vars, jobserver, state, paths
|
||||
from helpers import unlink, close_on_exec
|
||||
import logs
|
||||
from logs import debug2, err, warn, meta, check_tty
|
||||
|
|
@ -221,7 +221,7 @@ class BuildJob(object):
|
|||
dof.save()
|
||||
state.commit()
|
||||
meta('do', state.target_relpath(t))
|
||||
jwack.start_job(t, self._do_subproc, self._after)
|
||||
jobserver.start_job(t, self._do_subproc, self._after)
|
||||
|
||||
def _start_unlocked(self, dirty):
|
||||
# out-of-band redo of some sub-objects. This happens when we're not
|
||||
|
|
@ -250,7 +250,7 @@ class BuildJob(object):
|
|||
# returns only if there's an exception
|
||||
def after(t, rv):
|
||||
return self._after2(rv)
|
||||
jwack.start_job(self.t, run, after)
|
||||
jobserver.start_job(self.t, run, after)
|
||||
|
||||
def _do_subproc(self):
|
||||
# careful: REDO_PWD was the PWD relative to the STARTPATH at the time
|
||||
|
|
@ -432,9 +432,9 @@ def main(targets, shouldbuildfunc):
|
|||
if t in seen:
|
||||
continue
|
||||
seen[t] = 1
|
||||
if not jwack.has_token():
|
||||
if not jobserver.has_token():
|
||||
state.commit()
|
||||
jwack.ensure_token_or_cheat(t, cheat)
|
||||
jobserver.ensure_token_or_cheat(t, cheat)
|
||||
if retcode[0] and not vars.KEEP_GOING:
|
||||
break
|
||||
if not state.check_sane():
|
||||
|
|
@ -471,11 +471,11 @@ def main(targets, shouldbuildfunc):
|
|||
# do anything. The only exception is if we're invoked as redo instead
|
||||
# of redo-ifchange; then we have to redo it even if someone else already
|
||||
# did. But that should be rare.
|
||||
while locked or jwack.running():
|
||||
while locked or jobserver.running():
|
||||
state.commit()
|
||||
jwack.wait_all()
|
||||
assert jwack._mytokens == 0 # pylint: disable=protected-access
|
||||
jwack.ensure_token_or_cheat('self', cheat)
|
||||
jobserver.wait_all()
|
||||
assert jobserver._mytokens == 0 # pylint: disable=protected-access
|
||||
jobserver.ensure_token_or_cheat('self', cheat)
|
||||
# at this point, we don't have any children holding any tokens, so
|
||||
# it's okay to block below.
|
||||
if retcode[0] and not vars.KEEP_GOING:
|
||||
|
|
@ -507,12 +507,12 @@ def main(targets, shouldbuildfunc):
|
|||
# give up our personal token while we wait for the lock to
|
||||
# be released; but we should never run ensure_token() while
|
||||
# holding a lock, or we could cause deadlocks.
|
||||
jwack.release_mine()
|
||||
jobserver.release_mine()
|
||||
lock.waitlock()
|
||||
# now t is definitely free, so we get to decide whether
|
||||
# to build it.
|
||||
lock.unlock()
|
||||
jwack.ensure_token_or_cheat(t, cheat)
|
||||
jobserver.ensure_token_or_cheat(t, cheat)
|
||||
lock.trylock()
|
||||
assert lock.owned
|
||||
meta('unlocked', state.target_relpath(t))
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import os, sys, traceback
|
|||
import vars_init
|
||||
vars_init.init(sys.argv[1:])
|
||||
|
||||
import vars, state, builder, jwack, deps
|
||||
import vars, state, builder, jobserver, deps
|
||||
from logs import debug2, err
|
||||
|
||||
def should_build(t):
|
||||
|
|
@ -32,7 +32,7 @@ def main():
|
|||
else:
|
||||
f = me = None
|
||||
debug2('redo-ifchange: not adding depends.\n')
|
||||
jwack.setup(1)
|
||||
jobserver.setup(1)
|
||||
try:
|
||||
targets = sys.argv[1:]
|
||||
if f:
|
||||
|
|
@ -46,7 +46,7 @@ def main():
|
|||
state.rollback()
|
||||
finally:
|
||||
try:
|
||||
jwack.force_return_tokens()
|
||||
jobserver.force_return_tokens()
|
||||
except Exception, e: # pylint: disable=broad-except
|
||||
traceback.print_exc(100, sys.stderr)
|
||||
err('unexpected error: %r\n' % e)
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ if opt.no_log:
|
|||
import vars_init
|
||||
vars_init.init(targets)
|
||||
|
||||
import vars, state, builder, jwack
|
||||
import vars, state, builder, jobserver
|
||||
from logs import warn, err
|
||||
|
||||
def main():
|
||||
|
|
@ -97,7 +97,7 @@ def main():
|
|||
|
||||
if j < 1 or j > 1000:
|
||||
err('invalid --jobs value: %r\n' % opt.jobs)
|
||||
jwack.setup(j)
|
||||
jobserver.setup(j)
|
||||
try:
|
||||
assert state.is_flushed()
|
||||
retcode = builder.main(targets, lambda t: (True, True))
|
||||
|
|
@ -107,7 +107,7 @@ def main():
|
|||
state.rollback()
|
||||
finally:
|
||||
try:
|
||||
jwack.force_return_tokens()
|
||||
jobserver.force_return_tokens()
|
||||
except Exception, e: # pylint: disable=broad-except
|
||||
traceback.print_exc(100, sys.stderr)
|
||||
err('unexpected error: %r\n' % e)
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ _waitfds = {}
|
|||
|
||||
def _debug(s):
|
||||
if 0:
|
||||
sys.stderr.write('jwack#%d: %s' % (os.getpid(), s))
|
||||
sys.stderr.write('job#%d: %s' % (os.getpid(), s))
|
||||
|
||||
|
||||
def _create_tokens(n):
|
||||
Loading…
Add table
Add a link
Reference in a new issue