GitHub Actions: Try MSVC builds with /std:c++17 and 20
[ACE_TAO.git] / ACE / ace / Process_Semaphore.inl
blobd19eb2286ba0fe4d6da98c6d67aa5c2d86492deb
1 // -*- C++ -*-
2 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
4 #if defined (ACE_WIN32) || defined (ACE_HAS_POSIX_SEM)
5 ACE_INLINE const ACE_sema_t &
6 ACE_Process_Semaphore::lock (void) const
8 // ACE_TRACE ("ACE_Process_Semaphore::lock");
9   return this->lock_.lock ();
11 #endif /* ACE_WIN32 || ACE_HAS_POSIX_SEM */
13 // Acquire semaphore ownership.  This calls <acquire> and is only here
14 // to make the ACE_Process_Semaphore interface consistent with the
15 // other synchronization APIs.
17 ACE_INLINE int
18 ACE_Process_Semaphore::acquire_read (void)
20   return this->acquire ();
23 // Acquire semaphore ownership.  This calls <acquire> and is only here
24 // to make the ACE_Process_Semaphore interface consistent with the
25 // other synchronization APIs.
27 ACE_INLINE int
28 ACE_Process_Semaphore::acquire_write (void)
30   return this->acquire ();
33 // Conditionally acquire semaphore (i.e., won't block).  This calls
34 // <tryacquire> and is only here to make the ACE_Process_Semaphore
35 // interface consistent with the other synchronization APIs.
37 ACE_INLINE int
38 ACE_Process_Semaphore::tryacquire_read (void)
40   return this->tryacquire ();
43 // Conditionally acquire semaphore (i.e., won't block).  This calls
44 // <tryacquire> and is only here to make the ACE_Process_Semaphore
45 // interface consistent with the other synchronization APIs.
47 ACE_INLINE int
48 ACE_Process_Semaphore::tryacquire_write (void)
50   return this->tryacquire ();
53 // This is only here to make the ACE_Process_Semaphore
54 // interface consistent with the other synchronization APIs.
55 // Assumes the caller has already acquired the semaphore using one of
56 // the above calls, and returns 0 (success) always.
57 ACE_INLINE int
58 ACE_Process_Semaphore::tryacquire_write_upgrade (void)
60   return 0;
63 ACE_END_VERSIONED_NAMESPACE_DECL