]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - cups/thread-private.h
Fix potential deadlock (OpenPrinting #243)
[thirdparty/cups.git] / cups / thread-private.h
index 08e669c8eb29278f790f700e51935677a1f99db8..1b8b1067fe2430415e5fb2002dea8fb4268a7aa6 100644 (file)
@@ -14,6 +14,7 @@
  */
 
 #  include "config.h"
+#  include <cups/versioning.h>
 
 
 /*
@@ -40,7 +41,7 @@ typedef pthread_key_t _cups_threadkey_t;
 #    define _cupsThreadGetData(k) pthread_getspecific(k)
 #    define _cupsThreadSetData(k,p) pthread_setspecific(k,p)
 
-#  elif defined(WIN32)                 /* Windows threading */
+#  elif defined(_WIN32)                        /* Windows threading */
 #    include <winsock2.h>
 #    include <windows.h>
 typedef void *(__stdcall *_cups_thread_func_t)(void *arg);
@@ -81,20 +82,20 @@ typedef void        *_cups_threadkey_t;
  * Functions...
  */
 
-extern void    _cupsCondBroadcast(_cups_cond_t *cond);
-extern void    _cupsCondInit(_cups_cond_t *cond);
-extern void    _cupsCondWait(_cups_cond_t *cond, _cups_mutex_t *mutex, double timeout);
-extern void    _cupsMutexInit(_cups_mutex_t *mutex);
-extern void    _cupsMutexLock(_cups_mutex_t *mutex);
-extern void    _cupsMutexUnlock(_cups_mutex_t *mutex);
-extern void    _cupsRWInit(_cups_rwlock_t *rwlock);
-extern void    _cupsRWLockRead(_cups_rwlock_t *rwlock);
-extern void    _cupsRWLockWrite(_cups_rwlock_t *rwlock);
-extern void    _cupsRWUnlock(_cups_rwlock_t *rwlock);
-extern void    _cupsThreadCancel(_cups_thread_t thread);
-extern _cups_thread_t _cupsThreadCreate(_cups_thread_func_t func, void *arg);
-extern void     _cupsThreadDetach(_cups_thread_t thread);
-extern void    *_cupsThreadWait(_cups_thread_t thread);
+extern void    _cupsCondBroadcast(_cups_cond_t *cond) _CUPS_PRIVATE;
+extern void    _cupsCondInit(_cups_cond_t *cond) _CUPS_PRIVATE;
+extern void    _cupsCondWait(_cups_cond_t *cond, _cups_mutex_t *mutex, double timeout) _CUPS_PRIVATE;
+extern void    _cupsMutexInit(_cups_mutex_t *mutex) _CUPS_PRIVATE;
+extern void    _cupsMutexLock(_cups_mutex_t *mutex) _CUPS_PRIVATE;
+extern void    _cupsMutexUnlock(_cups_mutex_t *mutex) _CUPS_PRIVATE;
+extern void    _cupsRWInit(_cups_rwlock_t *rwlock) _CUPS_PRIVATE;
+extern void    _cupsRWLockRead(_cups_rwlock_t *rwlock) _CUPS_PRIVATE;
+extern void    _cupsRWLockWrite(_cups_rwlock_t *rwlock) _CUPS_PRIVATE;
+extern void    _cupsRWUnlock(_cups_rwlock_t *rwlock) _CUPS_PRIVATE;
+extern void    _cupsThreadCancel(_cups_thread_t thread) _CUPS_PRIVATE;
+extern _cups_thread_t _cupsThreadCreate(_cups_thread_func_t func, void *arg) _CUPS_PRIVATE;
+extern void     _cupsThreadDetach(_cups_thread_t thread) _CUPS_PRIVATE;
+extern void    *_cupsThreadWait(_cups_thread_t thread) _CUPS_PRIVATE;
 
 #  ifdef __cplusplus
 }