/[svn]/linuxsampler/trunk/src/common/Mutex.cpp
ViewVC logotype

Diff of /linuxsampler/trunk/src/common/Mutex.cpp

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

revision 268 by capela, Thu Oct 7 22:20:20 2004 UTC revision 361 by schoenebeck, Wed Feb 9 01:22:18 2005 UTC
# Line 20  Line 20 
20   *   MA  02111-1307  USA                                                   *   *   MA  02111-1307  USA                                                   *
21   ***************************************************************************/   ***************************************************************************/
22    
23  #include <iostream>  #ifndef _GNU_SOURCE
24    # define _GNU_SOURCE 1 /* so _XOPEN_SOURCE will be defined by features.h */
25    #endif
26    
27    #include <features.h>
28    
29    #if !defined(_XOPEN_SOURCE) || _XOPEN_SOURCE < 500
30    # undef _XOPEN_SOURCE
31    # define _XOPEN_SOURCE 500 /* to define PTHREAD_MUTEX_ERRORCHECK */
32    # warning "Seems you don't have a UNIX98 compatible system."
33    # warning "Please run LinuxSampler's selftest to make sure this won't be a problem!"
34    # warning "(compile tests with 'make tests', run them with 'src/testcases/linuxsamplertest')"
35    #endif
36    
37    #include <iostream>
38  #include <errno.h>  #include <errno.h>
39    #include <stdlib.h> /* for exit(int) */
40    
41  #include "Mutex.h"  #include "Mutex.h"
42    
43  Mutex::Mutex() {  Mutex::Mutex() {
44        // the following function call only works on UNIX98 compatible systems
45        #if (_XOPEN_SOURCE > 500)
46      if (pthread_mutexattr_settype(&__posix_mutexattr, PTHREAD_MUTEX_ERRORCHECK)) {      if (pthread_mutexattr_settype(&__posix_mutexattr, PTHREAD_MUTEX_ERRORCHECK)) {
47          std::cout << "Mutex Constructor: Fatal error - unable to pthread_mutexattr_settype(PTHREAD_MUTEX_ERRORCHECK)\n" << std::flush;          std::cout << "Mutex Constructor: Fatal error - unable to pthread_mutexattr_settype(PTHREAD_MUTEX_ERRORCHECK)\n" << std::flush;
48          exit(-1);          exit(-1);
49      }      }
50        #endif
51      pthread_mutex_init(&__posix_mutex, &__posix_mutexattr);      pthread_mutex_init(&__posix_mutex, &__posix_mutexattr);
52  }  }
53    

Legend:
Removed from v.268  
changed lines
  Added in v.361

  ViewVC Help
Powered by ViewVC