clover: Refactor event::trigger and ::abort to prevent deadlock and reentrancy issues.
authorFrancisco Jerez <currojerez@riseup.net>
Sat, 9 May 2015 11:47:38 +0000 (14:47 +0300)
committerFrancisco Jerez <currojerez@riseup.net>
Tue, 12 May 2015 12:47:57 +0000 (15:47 +0300)
commit2232b929fd9ca6f00c8dab9dc45c386986be922d
treefb57714e272144a6d65dbbdcb3c65f2ce220df77
parentd91d6b3f03f36d4cfef5e9aacac1534f12372c9f
clover: Refactor event::trigger and ::abort to prevent deadlock and reentrancy issues.

Refactor ::trigger and ::abort to split out the operations that access
concurrently modified data members and require locking from the
recursive and possibly re-entrant part of these methods.  This will
avoid some deadlock situations when locking is implemented.

Tested-by: Tom Stellard <thomas.stellard@amd.com>
CC: 10.5 <mesa-stable@lists.freedesktop.org>
src/gallium/state_trackers/clover/core/event.cpp
src/gallium/state_trackers/clover/core/event.hpp