fixed race bug in supervisor:Exit(..) handling

This commit is contained in:
jboner 2009-07-28 15:21:25 +02:00
parent b26c3fa71e
commit 6d6d815f56
4 changed files with 241 additions and 106 deletions

View file

@ -21,11 +21,11 @@ trait MessageDispatcherBase extends MessageDispatcher {
def messageQueue = queue
def registerHandler(key: AnyRef, handler: MessageInvoker) = synchronized {
def registerHandler(key: AnyRef, handler: MessageInvoker) = guard.synchronized {
messageHandlers.put(key, handler)
}
def unregisterHandler(key: AnyRef) = synchronized {
def unregisterHandler(key: AnyRef) = guard.synchronized {
messageHandlers.remove(key)
}