@@ -28,12 +28,12 @@ #import "OFDate.h" #import "OFAutoreleasePool.h" #import "OFConditionBroadcastFailedException.h" #import "OFConditionSignalFailedException.h" +#import "OFConditionStillWaitingException.h" #import "OFConditionWaitFailedException.h" -#import "OFConditionWaitingException.h" #import "OFInitializationFailedException.h" #import "OFInvalidArgumentException.h" #import "OFMutexLockFailedException.h" #import "OFMutexStillLockedException.h" #import "OFMutexUnlockFailedException.h" @@ -434,29 +434,34 @@ } - (void)wait { if (!of_condition_wait(&condition, &mutex)) - @throw [OFConditionWaitFailedException newWithClass: isa]; + @throw [OFConditionWaitFailedException newWithClass: isa + condition: self]; } - (void)signal { if (!of_condition_signal(&condition)) - @throw [OFConditionSignalFailedException newWithClass: isa]; + @throw [OFConditionSignalFailedException newWithClass: isa + condition: self]; } - (void)broadcast { if (!of_condition_broadcast(&condition)) - @throw [OFConditionBroadcastFailedException newWithClass: isa]; + @throw [OFConditionBroadcastFailedException newWithClass: isa + condition: self]; } - (void)dealloc { if (cond_initialized) if (!of_condition_free(&condition)) - @throw [OFConditionWaitingException newWithClass: isa]; + @throw [OFConditionStillWaitingException + newWithClass: isa + condition: self]; [super dealloc]; } @end