Revision 3d5e9cd...

Go back to digest for 3rd November 2013

Bug 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