- don't unlock an already unlocked mutex (Someone wanted to be on
the safe side with this, but the result is undefined and makes
pthread_mutex_destroy fail. Reference: manpage for
pthread_mutexattr_gettype/The Open Group[1]: "Attempting to
unlock a mutex of this type which is not locked results in
undefined behaviour.")
- re-enabled all subsystem destructors again (this has been disabled
because fgfs hung on exit, due to the mutex destroy failure from
above.)
Reference:
http://www.opengroup.org/onlinepubs/
007908799/xsh/pthread_mutexattr_gettype.html
SGSubsystemGroup::Member::~Member ()
{
- // FIXME: causes a crash
-// delete subsystem;
+ delete subsystem;
}
void
/**
* Destroy this queue.
*/
- ~SGBlockingQueue() { mutex.unlock(); }
+ ~SGBlockingQueue() {}
/**
*