X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmisc%2Fobjects.c;h=7e8e7ef93818988ff91a06829a96009558b8363f;hb=da6732062b23f833e860da223901eeeb75eefaf7;hp=74564e3eb90b22effd5d79637e46b7cf35306861;hpb=06e3b333dcadd50c4e335337ac852918331499ca;p=vlc diff --git a/src/misc/objects.c b/src/misc/objects.c index 74564e3eb9..7e8e7ef938 100644 --- a/src/misc/objects.c +++ b/src/misc/objects.c @@ -546,35 +546,6 @@ int __vlc_object_timedwait( vlc_object_t *obj, mtime_t deadline ) } -/** - * Checks whether an object has been "killed". - * The object lock must be held. - * - * Typical code for an object thread could be: - * - vlc_object_lock (self); - ...initialization... - while (vlc_object_alive (self)) - { - ...preprocessing... - - vlc_object_wait (self); - - ...postprocessing... - } - ...deinitialization... - vlc_object_unlock (self); - * - * - * @return true iff the object has not been killed yet - */ -bool __vlc_object_alive( vlc_object_t *obj ) -{ - vlc_assert_locked( &(vlc_internals(obj)->lock) ); - return !obj->b_die; -} - - /** * Signals an object for which the lock is held. * At least one thread currently sleeping in vlc_object_wait() or @@ -613,6 +584,7 @@ void __vlc_object_kill( vlc_object_t *p_this ) } vlc_object_signal_unlocked( p_this ); + /* This also serves as a memory barrier toward vlc_object_alive(): */ vlc_object_unlock( p_this ); }