From 0d09a9bec07b3bec78bd473ff0bfcf0a261f3f25 Mon Sep 17 00:00:00 2001 From: Glenn Kasten Date: Mon, 24 Jun 2013 12:06:46 -0700 Subject: Use mFutex as an event flag rather than semaphore An event flag can be more fault-tolerant in case of loss of synchronization, as it cannot overflow. It also allows more bits to be used in the future. See http://en.wikipedia.org/wiki/Event_flag Change-Id: I01ca25d951eb263124da54bb4738f0d94ec4a48b --- include/private/media/AudioTrackShared.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'include/private') diff --git a/include/private/media/AudioTrackShared.h b/include/private/media/AudioTrackShared.h index 681f557..ef5bb8d 100644 --- a/include/private/media/AudioTrackShared.h +++ b/include/private/media/AudioTrackShared.h @@ -94,8 +94,9 @@ struct audio_track_cblk_t // parameter // renamed to "_" to detect incorrect use - volatile int32_t mFutex; // semaphore: down (P) by client, + volatile int32_t mFutex; // event flag: down (P) by client, // up (V) by server or binderDied() or interrupt() +#define CBLK_FUTEX_WAKE 1 // if event flag bit is set, then a deferred wake is pending private: -- cgit v1.1