Changeset 164 in libcf
- Timestamp:
- 09/08/14 00:52:00 (10 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/cf_mutex.c
r151 r164 10 10 #include "cf_error.h" 11 11 12 #include <stdio.h> 12 13 #include <stdlib.h> 13 14 … … 15 16 # include <windows.h> 16 17 # include <process.h> 17 # define MUTEX_TYPE HANDLE18 # define MUTEX_TYPE CRITICAL_SECTION 18 19 #else // #if defined(_WIN32) || defined(_WIN64) 19 20 # include <pthread.h> … … 53 54 { 54 55 #if defined(_WIN32) || defined(_WIN64) 55 context->mid = CreateMutexA (NULL, FALSE, NULL); 56 if (context->mid == NULL) 57 { 58 result = CF_ERROR_MUTEX_CREATE; 59 TRY_BREAK; 60 } 56 InitializeCriticalSection (&context->mid); 61 57 #else 62 58 result = pthread_mutex_init (&context->mid, NULL); … … 93 89 94 90 #if defined(_WIN32) || defined(_WIN64) 95 if (context->mid == NULL) 96 return CF_ERROR_MUTEX_INVALID_ARGS; 97 98 CloseHandle (context->mid); 91 DeleteCriticalSection (&context->mid); 99 92 #else 100 93 pthread_mutex_destroy (&context->mid); … … 117 110 { 118 111 CF_MUTEX_CONTEXT * context = (CF_MUTEX_CONTEXT *) ctx; 112 BOOL st; 119 113 120 114 ASSERT_CTX (ctx); 121 115 122 116 #if defined(_WIN32) || defined(_WIN64) 123 WaitForSingleObject (context->mid, INFINITE); 117 st = TryEnterCriticalSection (&context->mid); 118 fprintf (stderr, "%d ", st); 124 119 #else 125 120 pthread_mutex_lock (&context->mid); … … 144 139 145 140 #if defined(_WIN32) || defined(_WIN64) 146 ReleaseMutex (context->mid);141 LeaveCriticalSection (&context->mid); 147 142 #else 148 143 pthread_mutex_unlock (&context->mid); -
trunk/src/cf_util.c
r163 r164 8 8 #include "cf_util.h" 9 9 #include "cf_error.h" 10 #include "cf_local.h" 10 11 11 12 #include <stdio.h> -
trunk/windows/libcf/libcf.vcproj
r130 r164 223 223 > 224 224 </File> 225 <File 226 RelativePath="..\..\src\cf_util.c" 227 > 228 </File> 225 229 </Filter> 226 230 <Filter … … 285 289 > 286 290 </File> 291 <File 292 RelativePath="..\..\include\cf_util.h" 293 > 294 </File> 287 295 </Filter> 288 296 <Filter
Note:
See TracChangeset
for help on using the changeset viewer.