MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vlIpcRdWrLock__rti__.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2005 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: vlIpcRdWrLock__rti__.h,v $ $Revision: 1.3 $ $State: Exp $
7 *******************************************************************************/
10 
11 #ifndef VXWORKS
12 
13 #ifndef vlIpcRdWrLock__rti___H_
14 #define vlIpcRdWrLock__rti___H_
15 
16 #include "rtiMsConfig.h"
17 #include <vlutil/vlMachineTypes.h>
18 #include "vlRdWrLock__rti__.h"
19 #include <vlutil/vlString.h>
20 
21 #if WIN32
22 #include <winsock2.h>
23 #include <process.h>
24 #else
25 #include <pthread.h>
26 #endif
27 
28 #ifdef DtUSE_UTILITIES_NAMESPACE
29 namespace DtUSE_UTILITIES_NAMESPACE
30 {
31 #endif
32 
39 {
40 public:
41 
43 #ifdef WIN32
44  DtIpcRdWrLock__rti__(const MAKRti::DtString& name);
45 #else
46  DtIpcRdWrLock__rti__(pthread_rwlock_t * sharedLock);
47 #endif
48 
49 public:
51  virtual ~DtIpcRdWrLock__rti__();
52 
54  virtual void init();
55 
57  virtual void destroy();
58 
59 #ifdef WIN32
60  virtual int wrLock();
62 
64  virtual int rdLock();
65 
67  virtual int wrUnlock();
68 
70  virtual int rdUnlock();
71 #endif
72 
73 protected:
74 
75 #ifdef WIN32
76  MAKRti::DtString myName;
80  HANDLE readerLockoutMutex;
81  HANDLE readers;
82  HANDLE okToWrite;
83 
84 #endif
85 
86 };
87 
88 #ifdef DtUSE_UTILITIES_NAMESPACE
89 }
90 #endif
91 
92 #endif
93 
94 #endif
Platform independent read-lock / write-lock.
Definition: vlRdWrLock__rti__.h:37
Platform independent read-lock / write-lock.
Definition: vlIpcRdWrLock__rti__.h:38
#define DT_DLL_RTIUTIL
Definition: rtiMsConfig.h:127

Document ID: Generated on Mon Sep 7 15:40:32 EDT 2020 from SVN revision 217499
Copyright © 2005-2020 MAK Technologies Inc. All Rights Reserved (www.mak.com)