sipxportlib  Version 3.3
OsRWMutex.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2004-2006 SIPfoundry Inc.
3 // Licensed by SIPfoundry under the LGPL license.
4 //
5 // Copyright (C) 2004-2006 Pingtel Corp. All rights reserved.
6 // Licensed to SIPfoundry under a Contributor Agreement.
7 //
8 // $$
10 
11 
12 #ifndef _OsRWMutex_h_
13 #define _OsRWMutex_h_
14 
15 // SYSTEM INCLUDES
16 
17 // APPLICATION INCLUDES
18 #include "os/OsDefs.h"
19 #include "os/OsStatus.h"
20 #include "utl/UtlDefs.h"
21 
22 // DEFINES
23 // MACROS
24 // EXTERNAL FUNCTIONS
25 // EXTERNAL VARIABLES
26 // CONSTANTS
27 // STRUCTS
28 // TYPEDEFS
29 // FORWARD DECLARATIONS
30 
31 //:Mutual exclusion semaphore handling multiple readers and writers
32 // Two kinds of concurrent tasks, called "readers" and "writers", share a
33 // single resource. The readers can use the resource simultaneously, but each
34 // writer must have exclusive access to it. When a writer is ready to use the
35 // resource, it should be enabled to do so as soon as possible.
36 
41 #if defined(_WIN32)
43  typedef class OsRWMutexShared OsRWMutex;
44 #elif defined(_VXWORKS) || defined(ANDROID)
46  typedef class OsRWMutexShared OsRWMutex;
47 #elif defined(__pingtel_on_posix__)
48 # include "os/linux/OsRWMutexLinux.h"
49  typedef class OsRWMutexLinux OsRWMutex;
50 #else
51 # error Unsupported target platform.
52 #endif
53 
54 #endif // _OsRWMutex_h_
Definition: OsRWMutexLinux.h:52
Definition: OsRWMutexShared.h:36