null+****@clear*****
null+****@clear*****
2012年 3月 21日 (水) 11:56:17 JST
Susumu Yata 2012-03-21 11:56:17 +0900 (Wed, 21 Mar 2012)
New Revision: 8e12f24ea3747574d1ffcb6f408a5c580e4a1bc5
Log:
Fix the return value of THREAD_JOIN().
The new THREAD_JOIN() returns zero on success, non-zero on failure.
Modified files:
lib/groonga_in.h
Modified: lib/groonga_in.h (+2 -2)
===================================================================
--- lib/groonga_in.h 2012-03-21 11:32:29 +0900 (6a8fa2b)
+++ lib/groonga_in.h 2012-03-21 11:56:17 +0900 (1d6f824)
@@ -254,7 +254,7 @@ typedef int grn_sock;
#include <pthread.h>
typedef pthread_t grn_thread;
#define THREAD_CREATE(thread,func,arg) (pthread_create(&(thread), NULL, (func), (arg)))
-#define THREAD_JOIN(thread) pthread_join(thread, NULL);
+#define THREAD_JOIN(thread) (pthread_join(thread, NULL))
typedef pthread_mutex_t grn_mutex;
#define MUTEX_INIT(m) pthread_mutex_init(&m, NULL)
#define MUTEX_LOCK(m) pthread_mutex_lock(&m)
@@ -323,7 +323,7 @@ typedef int grn_thread_key;
#ifdef WIN32
typedef uintptr_t grn_thread;
#define THREAD_CREATE(thread,func,arg) (((thread)=_beginthreadex(NULL, 0, (func), (arg), 0, NULL)) == NULL)
-#define THREAD_JOIN(thread) WaitForSingleObject((thread), INFINITE);
+#define THREAD_JOIN(thread) (WaitForSingleObject((thread), INFINITE) == WAIT_FAILED)
typedef HANDLE grn_mutex;
#define MUTEX_INIT(m) ((m) = CreateMutex(0, FALSE, NULL))
#define MUTEX_LOCK(m) WaitForSingleObject((m), INFINITE)