|
From: <axl...@us...> - 2010-01-18 13:26:39
|
Revision: 671
http://hgengine.svn.sourceforge.net/hgengine/?rev=671&view=rev
Author: axlecrusher
Date: 2010-01-18 13:26:25 +0000 (Mon, 18 Jan 2010)
Log Message:
-----------
fix windows mutex unlock
Modified Paths:
--------------
Mercury2/src/MercuryThreads.cpp
Modified: Mercury2/src/MercuryThreads.cpp
===================================================================
--- Mercury2/src/MercuryThreads.cpp 2010-01-17 02:36:11 UTC (rev 670)
+++ Mercury2/src/MercuryThreads.cpp 2010-01-18 13:26:25 UTC (rev 671)
@@ -6,13 +6,13 @@
#include <errno.h>
#include <time.h>
#include <sys/time.h>
+#include <stdint.h>
#endif
//XXX WARNING in windows mutex of the same name are shared!!!
//we can not give mutexes a default name
#include <stdio.h>
-#include <stdint.h>
MercuryThread::MercuryThread()
:m_haltOnDestroy(true), m_thread(0)
@@ -225,13 +225,18 @@
int r, error;
#if defined( WIN32 )
- r = ReleaseMutex( m_mutex );
- if (r!=0) error = GetLastError();
+ r = ReleaseMutex( m_mutex ); //nonzero on success
+ if (r==0)
+ {
+ error = GetLastError();
+ fprintf(stderr, "Failed to release mutex %s, error %d!!\n", m_name.c_str(), error);
+ }
+ return r!=0;
#else
- error = r = pthread_mutex_unlock( &m_mutex );
+ error = r = pthread_mutex_unlock( &m_mutex ); //0 on success
+ if (r!=0) fprintf(stderr, "Failed to release mutex %s, error %d!!\n", m_name.c_str(), error);
+ return r==0;
#endif
- if (r!=0) fprintf(stderr, "Failed to release mutex %s, error %d!!\n", m_name.c_str(), error);
- return r!=0;
}
int MercuryMutex::Open( )
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|