diff options
Diffstat (limited to 'ace/SV_Semaphore_Complex.cpp')
-rw-r--r-- | ace/SV_Semaphore_Complex.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/ace/SV_Semaphore_Complex.cpp b/ace/SV_Semaphore_Complex.cpp index 4c751da24cb..b523d2e0007 100644 --- a/ace/SV_Semaphore_Complex.cpp +++ b/ace/SV_Semaphore_Complex.cpp @@ -3,6 +3,7 @@ #include "ace/SV_Semaphore_Complex.h" #include "ace/Log_Msg.h" +#include "ace/os_include/sys/sem.h" #if defined (ACE_LACKS_INLINE_FUNCTIONS) #include "ace/SV_Semaphore_Complex.i" @@ -73,7 +74,7 @@ ACE_SV_Semaphore_Complex::open (key_t k, // Must include a count for the 2 additional semaphores we use // internally. - this->sem_number_ = nsems + 2; + this->sem_number_ = nsems + 2; if (create == ACE_SV_Semaphore_Complex::ACE_CREATE) { @@ -82,8 +83,8 @@ ACE_SV_Semaphore_Complex::open (key_t k, do { this->internal_id_ = ACE_OS::semget - (this->key_, - (u_short) 2 + nsems, + (this->key_, + (u_short) 2 + nsems, perms | ACE_SV_Semaphore_Complex::ACE_CREATE); if (this->internal_id_ == -1) |