comparison liboctave/oct-mutex.cc @ 11501:331fcc41ca23

data member initialization fixes
author John W. Eaton <jwe@octave.org>
date Thu, 13 Jan 2011 03:04:51 -0500
parents 16f53d29049f
children fd0a3ac60b0e
comparison
equal deleted inserted replaced
11500:7aeb4eb7403f 11501:331fcc41ca23
81 class 81 class
82 octave_pthread_mutex : public octave_base_mutex 82 octave_pthread_mutex : public octave_base_mutex
83 { 83 {
84 public: 84 public:
85 octave_pthread_mutex (void) 85 octave_pthread_mutex (void)
86 : octave_base_mutex () 86 : octave_base_mutex (), pm ()
87 { 87 {
88 pthread_mutexattr_t attr; 88 pthread_mutexattr_t attr;
89 89
90 pthread_mutexattr_init (&attr); 90 pthread_mutexattr_init (&attr);
91 pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_RECURSIVE); 91 pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_RECURSIVE);
112 pthread_mutex_t pm; 112 pthread_mutex_t pm;
113 }; 113 };
114 114
115 #endif 115 #endif
116 116
117 octave_mutex::octave_mutex (void) 117 static octave_base_mutex *
118 init_rep (void)
118 { 119 {
119 #if defined (__WIN32__) && ! defined (__CYGWIN__) 120 #if defined (__WIN32__) && ! defined (__CYGWIN__)
120 rep = new octave_w32_mutex (); 121 return new octave_w32_mutex ();
121 #elif defined (HAVE_PTHREAD_H) 122 #elif defined (HAVE_PTHREAD_H)
122 rep = new octave_pthread_mutex (); 123 return new octave_pthread_mutex ();
123 #else 124 #else
124 rep = new octave_base_mutex (); 125 return new octave_base_mutex ();
125 #endif 126 #endif
126 } 127 }
128
129 octave_mutex::octave_mutex (void) : rep (init_rep ()) { }