/[svn]/liblscp/trunk/lscp/thread.h
ViewVC logotype

Diff of /liblscp/trunk/lscp/thread.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 103 by capela, Fri Jun 4 14:32:51 2004 UTC revision 869 by capela, Thu Jun 1 08:32:16 2006 UTC
# Line 2  Line 2 
2  //  //
3  /****************************************************************************  /****************************************************************************
4     liblscp - LinuxSampler Control Protocol API     liblscp - LinuxSampler Control Protocol API
5     Copyright (C) 2004, rncbc aka Rui Nuno Capela. All rights reserved.     Copyright (C) 2004-2006, rncbc aka Rui Nuno Capela. All rights reserved.
6    
7     This library is free software; you can redistribute it and/or     This library is free software; you can redistribute it and/or
8     modify it under the terms of the GNU Lesser General Public     modify it under the terms of the GNU Lesser General Public
# Line 77  typedef pthread_mutex_t lscp_mutex_t; Line 77  typedef pthread_mutex_t lscp_mutex_t;
77  #endif  #endif
78    
79  //-------------------------------------------------------------------------  //-------------------------------------------------------------------------
80    // Simple condition variables (FIXME: probably incorrect on WIN32).
81    
82    #if defined(WIN32)
83    typedef HANDLE lscp_cond_t;
84    #define lscp_cond_init(c)       { (c) = CreateEvent(NULL, FALSE, FALSE, NULL); }
85    #define lscp_cond_destroy(c)    if (c) { CloseHandle(c); }
86    #define lscp_cond_wait(c, m)    { lscp_mutex_unlock(m); WaitForSingleObject((c), INFINITE); lscp_mutex_lock(m); }
87    #define lscp_cond_signal(c)     SetEvent(c)
88    #else
89    typedef pthread_cond_t lscp_cond_t;
90    #define lscp_cond_init(c)       pthread_cond_init(&(c), NULL)
91    #define lscp_cond_destroy(c)    pthread_cond_destroy(&(c))
92    #define lscp_cond_wait(c, m)    pthread_cond_wait(&(c), &(m))
93    #define lscp_cond_signal(c)     pthread_cond_signal(&(c))
94    #endif
95    
96    //-------------------------------------------------------------------------
97  // Threads.  // Threads.
98    
99  struct _lscp_thread_t;  struct _lscp_thread_t;
# Line 91  lscp_status_t  lscp_thread_cancel  (lscp Line 108  lscp_status_t  lscp_thread_cancel  (lscp
108  lscp_status_t  lscp_thread_destroy (lscp_thread_t *pThread);  lscp_status_t  lscp_thread_destroy (lscp_thread_t *pThread);
109    
110  #if defined(WIN32)  #if defined(WIN32)
 #define lscp_thread_exit()  pthread_exit(NULL)  
 #else  
111  #define lscp_thread_exit()  ExitThread(0)  #define lscp_thread_exit()  ExitThread(0)
112    #else
113    #define lscp_thread_exit()  pthread_exit(NULL)
114  #endif  #endif
115    
116  #if defined(__cplusplus)  #if defined(__cplusplus)

Legend:
Removed from v.103  
changed lines
  Added in v.869

  ViewVC Help
Powered by ViewVC