[bugfix] [linux] force cleanup of shared mutex

Shared mutex is actually a shared semaphore (as opposed to pthread_mutex
shared with shared memory as was previously designed).  The cleanup
therefore is done with sem_unlink and not shm_unlink.

Signed-off-by: Shahbaz Youssefi <ShabbyX@gmail.com>