Back to index

enigmail  1.4.3
Public Member Functions | Public Attributes | Static Private Attributes
pymake.data.RemakeTargetParallel Class Reference

List of all members.

Public Member Functions

def __init__
def doresolve
def resolvecb
def runnext
def commandscb

Public Attributes

 target
 makefile
 indent
 rlist
 rulesremaining
 currunning

Static Private Attributes

tuple __slots__ = ('target', 'makefile', 'indent', 'rlist', 'rulesremaining', 'currunning')

Detailed Description

Definition at line 516 of file data.py.


Constructor & Destructor Documentation

def pymake.data.RemakeTargetParallel.__init__ (   self,
  target,
  makefile,
  indent,
  rlist 
)

Definition at line 519 of file data.py.

00519 
00520     def __init__(self, target, makefile, indent, rlist):
00521         self.target = target
00522         self.makefile = makefile
00523         self.indent = indent
00524         self.rlist = rlist
00525 
00526         self.rulesremaining = len(rlist)
00527         self.currunning = False
00528 
00529         for r in rlist:
00530             makefile.context.defer(self.doresolve, r)


Member Function Documentation

def pymake.data.RemakeTargetParallel.commandscb (   self,
  error 
)

Definition at line 576 of file data.py.

00576 
00577     def commandscb(self, error):
00578         assert error in (True, False)
00579         if error:
00580             self.target.error = True
00581             self.makefile.error = True
00582 
00583         assert self.currunning
00584         self.currunning = False
00585         self.runnext()

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 531 of file data.py.

00531 
00532     def doresolve(self, r):
00533         if self.makefile.error and not self.makefile.keepgoing:
00534             r.error = True
00535             self.resolvecb(True, False)
00536         else:
00537             r.resolvedeps(False, self.resolvecb)

Here is the call graph for this function:

def pymake.data.RemakeTargetParallel.resolvecb (   self,
  error,
  didanything 
)

Definition at line 538 of file data.py.

00538 
00539     def resolvecb(self, error, didanything):
00540         assert error in (True, False)
00541 
00542         if error:
00543             self.target.error = True
00544 
00545         if didanything:
00546             self.target.didanything = True
00547 
00548         self.rulesremaining -= 1
00549 
00550         # commandscb takes care of the details if we're currently building
00551         # something
00552         if self.currunning:
00553             return
00554 
00555         self.runnext()

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 556 of file data.py.

00556 
00557     def runnext(self):
00558         assert not self.currunning
00559 
00560         if self.makefile.error and not self.makefile.keepgoing:
00561             self.rlist = []
00562         else:
00563             while len(self.rlist) and self.rlist[0].error:
00564                 del self.rlist[0]
00565 
00566         if not len(self.rlist):
00567             if not self.rulesremaining:
00568                 self.target.notifydone(self.makefile)
00569             return
00570 
00571         if self.rlist[0].depsremaining != 0:
00572             return
00573 
00574         self.currunning = True
00575         self.rlist.pop(0).runcommands(self.indent, self.commandscb)

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

Definition at line 517 of file data.py.

Definition at line 526 of file data.py.

Definition at line 522 of file data.py.

Definition at line 521 of file data.py.

Definition at line 523 of file data.py.

Definition at line 525 of file data.py.

Definition at line 520 of file data.py.


The documentation for this class was generated from the following file: