Author: bonefish Date: 2011-06-06 13:27:07 +0200 (Mon, 06 Jun 2011) New Revision: 41964 Changeset: https://dev.haiku-os.org/changeset/41964 Modified: haiku/branches/developer/bonefish/signals/headers/private/kernel/UserEvent.h haiku/branches/developer/bonefish/signals/src/system/kernel/UserEvent.cpp Log: CreateThreadEvent: Cancel the DPC in the destructor. Modified: haiku/branches/developer/bonefish/signals/headers/private/kernel/UserEvent.h =================================================================== --- haiku/branches/developer/bonefish/signals/headers/private/kernel/UserEvent.h 2011-06-06 11:22:48 UTC (rev 41963) +++ haiku/branches/developer/bonefish/signals/headers/private/kernel/UserEvent.h 2011-06-06 11:27:07 UTC (rev 41964) @@ -76,6 +76,8 @@ struct CreateThreadEvent : UserEvent, private DPCCallback { + ~CreateThreadEvent(); + static CreateThreadEvent* Create( const ThreadCreationAttributes& attributes); Modified: haiku/branches/developer/bonefish/signals/src/system/kernel/UserEvent.cpp =================================================================== --- haiku/branches/developer/bonefish/signals/src/system/kernel/UserEvent.cpp 2011-06-06 11:22:48 UTC (rev 41963) +++ haiku/branches/developer/bonefish/signals/src/system/kernel/UserEvent.cpp 2011-06-06 11:27:07 UTC (rev 41964) @@ -199,6 +199,13 @@ } +CreateThreadEvent::~CreateThreadEvent() +{ + // cancel the DPC to be on the safe side + DPCQueue::DefaultQueue(B_NORMAL_PRIORITY)->Cancel(this); +} + + /*static*/ CreateThreadEvent* CreateThreadEvent::Create(const ThreadCreationAttributes& attributes) {