This routine destroys a mutex object by uninitializing it, and should be called when a mutex object is no longer referenced. After this routine is called, the Threads Library can reclaim internal storage used by the mutex object. It is safe to destroy an initialized mutex object that is unlocked. However, it is illegal to destroy a locked mutex object. The results of this routine are unpredictable if the mutex object specified in the mutex argument either does not currently exist or is not initialized.