producer, published, ) pipe1.activate() pipe2 = Pipeline( subscribe, consumer ) consumer2 = Consumer() consumer2.activate() pipe1.link((pipe1,'signal'),(pipe2,'control')) pipe2.link((pipe2,'signal'),(backplane,'control')) backplane.link((backplane,'signal'),(consumer2,'control')) import threading class A(threading.Thread): def run(self): someStopped = False injected = False while 1: print "<whatever>" someRunning = False for i in (producer, consumer, published, subscribe, pipe1, pipe2, backplane): print i._isStopped(), i if i._isStopped(): someStopped = True else: