From 6236ead3385422f490f31fb7f54bdab7071e32b9 Mon Sep 17 00:00:00 2001 From: Brian Date: Wed, 14 May 2014 19:09:46 -0600 Subject: [PATCH] Adding new worker run type --- p4RemoveUnversioned.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/p4RemoveUnversioned.py b/p4RemoveUnversioned.py index 8fd2a8d..bb8805c 100644 --- a/p4RemoveUnversioned.py +++ b/p4RemoveUnversioned.py @@ -29,7 +29,7 @@ def enum(*sequential, **named): enums = dict(zip(sequential, range(len(sequential))), **named) return type('Enum', (), enums) -MSG = enum('SHUTDOWN', 'PARSE_DIRECTORY') +MSG = enum('SHUTDOWN', 'PARSE_DIRECTORY', 'RUN_FUNCTION') p4_ignore = ".p4ignore" @@ -212,6 +212,19 @@ class Console( threading.Thread ): self.queue.task_done( ) +class Task( threading.Event ): + def __init__( data, cmd = None ): + threading.Event.__init__( self ) + + self.cmd = cmd if cmd is None MSG.RUN_FUNCTION + self.data = data + + def isDone( self ): + return self.isSet() + + def join( self ): + self.wait( ) + class Worker( threading.Thread ): def __init__( self, console, queue, files_to_ignore ): threading.Thread.__init__( self ) @@ -225,8 +238,11 @@ class Worker( threading.Thread ): ( cmd, data ) = self.queue.get( ) if cmd == MSG.SHUTDOWN: - self.queue.task_done( ) self.console.flush( ) + self.queue.task_done( ) + break + + if cmd == MSG.RUN_FUNCTION: break if cmd != MSG.PARSE_DIRECTORY or data is None: