def __init__ (self, logger = None):
r, w = os.pipe()
self.trigger = w
self.logger = logger
asyncore.file_dispatcher.__init__ (self, r)
self.lock = _thread.allocate_lock()
self.thunks = []