android/ringlibsdl/project/jni/smpeg2-2.0.0/MPEGring.cpp
void
MPEG_ring:: ReleaseThreads( void )
{
    /* Let the threads know that the ring is now inactive */
    ring->active = 0;

    if ( ring->readwait ) {
        while ( SDL_SemValue(ring->readwait) == 0 ) {
            SDL_SemPost(ring->readwait);
        }
    }
    if ( ring->writewait ) {
        while ( SDL_SemValue(ring->writewait) == 0 ) {
            SDL_SemPost(ring->writewait);
        }
    }
}
/* Release any waiting threads on the ring so they can be cleaned up.
   The ring isn't valid after this call, so when threads are done you
   should call MPRing_sdelete() on the ring.
 */
Release any waiting threads on the ring so they can be cleaned up.
The ring isn't valid after this call, so when threads are done you
should call MPRing_sdelete() on the ring.
Release any waiting threads on the ring so they can be cleaned up . The ring isn ' t valid after this call so when threads are done you should call MPRing_sdelete () on the ring .
void
MPEG_ring:: ReleaseThreads( void )
{
    ring->active = 0;
    if ( ring->readwait ) {
        while ( SDL_SemValue(ring->readwait) == 0 ) {
            SDL_SemPost(ring->readwait);
        }
    }
    if ( ring->writewait ) {
        while ( SDL_SemValue(ring->writewait) == 0 ) {
            SDL_SemPost(ring->writewait);
        }
    }
}
void MPEG_ring :: ReleaseThreads ( void ) { ring -> active = 0 ; if ( ring -> readwait ) { while ( SDL_SemValue ( ring -> readwait ) == 0 ) { SDL_SemPost ( ring -> readwait ) ; } } if ( ring -> writewait ) { while ( SDL_SemValue ( ring -> writewait ) == 0 ) { SDL_SemPost ( ring -> writewait ) ; } } }
Release any waiting threads on the ring so they can be cleaned up.
Release any waiting threads on the ring so they can be cleaned up .
/* Let the threads know that the ring is now inactive */