Destroy a synchronization object
Don't use the SyncDestroy() or SyncDestroy_r() kernel call directly; instead, use the POSIX functions for synchronization objects (see pthread_cond_destroy(), pthread_mutex_destroy(), pthread_rwlock_destroy(), and sem_destroy()). |
#include <sys/neutrino.h> int SyncDestroy( sync_t* sync ); int SyncDestroy_r ( sync_t* sync );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The SyncDestroy() and SyncDestroy_r() kernel calls destroy a synchronization object previously allocated by a call to SyncTypeCreate(). If the object is a locked mutex, or a condition variable with waiting threads, the call fails. Any attempt to use sync after it is destroyed fails.
These functions are identical except in the way they indicate errors. See the Returns section for details.
These calls don't block.
The only difference between these functions is the way they indicate errors:
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |
pthread_cond_destroy(), pthread_mutex_destroy(), pthread_rwlock_destroy(), sem_destroy(), SyncTypeCreate()