mirror of
https://github.com/mangosfour/server.git
synced 2025-12-12 19:37:03 +00:00
Some missing from merge.
Signed-off-by: Salja <salja2012@hotmail.de>
This commit is contained in:
parent
ec939a5bce
commit
f4be15a7af
1895 changed files with 160408 additions and 53601 deletions
|
|
@ -1,10 +1,9 @@
|
|||
// $Id: SV_Semaphore_Simple.cpp 96985 2013-04-11 15:50:32Z huangh $
|
||||
|
||||
#include "ace/SV_Semaphore_Simple.h"
|
||||
#include "ace/Log_Category.h"
|
||||
#include "ace/ACE.h"
|
||||
#include "ace/os_include/sys/os_sem.h"
|
||||
#if defined (ACE_HAS_ALLOC_HOOKS)
|
||||
# include "ace/Malloc_Base.h"
|
||||
#endif /* ACE_HAS_ALLOC_HOOKS */
|
||||
|
||||
#if !defined (__ACE_INLINE__)
|
||||
#include "ace/SV_Semaphore_Simple.inl"
|
||||
|
|
@ -42,7 +41,6 @@ ACE_SV_Semaphore_Simple::control (int cmd,
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef ACE_HAS_SYSV_IPC
|
||||
int
|
||||
ACE_SV_Semaphore_Simple::init (key_t k, int i)
|
||||
{
|
||||
|
|
@ -51,7 +49,6 @@ ACE_SV_Semaphore_Simple::init (key_t k, int i)
|
|||
this->internal_id_ = i;
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
// General ACE_SV_Semaphore operation. Increment or decrement by a
|
||||
// specific amount (positive or negative; amount can`t be zero).
|
||||
|
|
@ -86,10 +83,8 @@ ACE_SV_Semaphore_Simple::open (key_t k,
|
|||
ACE_TRACE ("ACE_SV_Semaphore_Simple::open");
|
||||
union semun ivalue;
|
||||
|
||||
#ifdef ACE_HAS_SYSV_IPC
|
||||
if (k == IPC_PRIVATE || k == static_cast<key_t> (ACE_INVALID_SEM_KEY))
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
ivalue.val = initial_value;
|
||||
this->key_ = k;
|
||||
|
|
@ -135,12 +130,7 @@ ACE_SV_Semaphore_Simple::name_2_key (const char *name)
|
|||
if (name == 0)
|
||||
{
|
||||
errno = EINVAL;
|
||||
#ifdef ACE_HAS_SYSV_IPC
|
||||
return static_cast<key_t> (ACE_INVALID_SEM_KEY);
|
||||
#else
|
||||
key_t ret = ACE_DEFAULT_SEM_KEY;
|
||||
return ret;
|
||||
#endif
|
||||
}
|
||||
|
||||
// Basically "hash" the values in the <name>. This won't
|
||||
|
|
@ -151,14 +141,7 @@ ACE_SV_Semaphore_Simple::name_2_key (const char *name)
|
|||
# pragma warning(push)
|
||||
# pragma warning(disable : 4312)
|
||||
#endif /* defined (ACE_WIN32) && defined (_MSC_VER) */
|
||||
|
||||
#ifdef ACE_HAS_SYSV_IPC
|
||||
return (key_t) ACE::crc32 (name);
|
||||
#else
|
||||
key_t ret = ACE_DEFAULT_SEM_KEY;
|
||||
return ret;
|
||||
#endif
|
||||
|
||||
return (key_t)(intptr_t)ACE::crc32 (name);
|
||||
#if defined (ACE_WIN32) && defined (_MSC_VER)
|
||||
# pragma warning(pop)
|
||||
#endif /* defined (ACE_WIN32) && defined (_MSC_VER) */
|
||||
|
|
@ -176,14 +159,12 @@ ACE_SV_Semaphore_Simple::open (const char *name,
|
|||
{
|
||||
ACE_TRACE ("ACE_SV_Semaphore_Simple::open");
|
||||
|
||||
key_t key = ACE_DEFAULT_SEM_KEY;
|
||||
key_t key;
|
||||
|
||||
#ifdef ACE_HAS_SYSV_IPC
|
||||
if (name != 0)
|
||||
if (name == 0)
|
||||
key = ACE_DEFAULT_SEM_KEY;
|
||||
else
|
||||
key = this->name_2_key (name);
|
||||
#else
|
||||
ACE_UNUSED_ARG (name);
|
||||
#endif
|
||||
|
||||
return this->open (key, flags, initial_value, n, perms);
|
||||
}
|
||||
|
|
@ -234,9 +215,7 @@ ACE_SV_Semaphore_Simple::ACE_SV_Semaphore_Simple (void) :
|
|||
sem_number_ (0)
|
||||
{
|
||||
ACE_TRACE ("ACE_SV_Semaphore_Simple::ACE_SV_Semaphore_Simple");
|
||||
#ifdef ACE_HAS_SYSV_IPC
|
||||
this->init ();
|
||||
#endif
|
||||
}
|
||||
|
||||
// Remove all SV_Semaphores associated with a particular key. This
|
||||
|
|
@ -250,9 +229,7 @@ ACE_SV_Semaphore_Simple::remove (void) const
|
|||
{
|
||||
ACE_TRACE ("ACE_SV_Semaphore_Simple::remove");
|
||||
int const result = this->control (IPC_RMID);
|
||||
#ifdef ACE_HAS_SYSV_IPC
|
||||
((ACE_SV_Semaphore_Simple *) this)->init ();
|
||||
#endif
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue