Revision 3d5e9cd...
Go back to digest for 3rd November 2013Bug Fixes in KDE Base
Mirko Boehm committed changes in [kdelibs/frameworks] /threadweaver:
Ensure neither queue nor thread keep a reference to a previous job.
See comments on JobTests::JobsAreDestroyedAfterFinish:
Verify that neither the queue nor the thread keep a reference to the job
after completing it.
This is necessary because user-allocated objects like queue policies may
be registered with the jobs. If the jobs stick around until the thread
or queue are deleted, the user-allocated objects may have gone out of
scope or been deleted already, causing potential errors. From
ThreadWeaver's point of view, a job seizes to exist once the processing
thread asks for the next job.
File Changes
Modified 17 files
- /threadweaver
- tier1/autotests/JobTests.cpp
- tier1/src/Weaver/DestructedState.cpp
- tier1/src/Weaver/DestructedState.h
- tier1/src/Weaver/InConstructionState.cpp
- tier1/src/Weaver/InConstructionState.h
- tier1/src/Weaver/QueueInterface.h
- tier1/src/Weaver/ShuttingDownState.cpp
- tier1/src/Weaver/ShuttingDownState.h
- tier1/src/Weaver/SuspendedState.cpp
- tier1/src/Weaver/SuspendedState.h
- tier1/src/Weaver/SuspendingState.cpp
- tier1/src/Weaver/SuspendingState.h
- tier1/src/Weaver/Thread.cpp
- tier1/src/Weaver/WeaverImpl.cpp
- tier1/src/Weaver/WeaverImpl.h
- tier1/src/Weaver/WorkingHardState.cpp
- tier1/src/Weaver/WorkingHardState.h
17 files changed in total