(file) Return to MutexLock.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / ProviderManager2

 1 karl  1.2 //%2003////////////////////////////////////////////////////////////////////////
 2 chip  1.1 //
 3 karl  1.2 // Copyright (c) 2000, 2001, 2002  BMC Software, Hewlett-Packard Development
 4           // Company, L. P., IBM Corp., The Open Group, Tivoli Systems.
 5           // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.;
 6           // IBM Corp.; EMC Corporation, The Open Group.
 7 chip  1.1 //
 8           // Permission is hereby granted, free of charge, to any person obtaining a copy
 9           // of this software and associated documentation files (the "Software"), to
10           // deal in the Software without restriction, including without limitation the
11           // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
12           // sell copies of the Software, and to permit persons to whom the Software is
13           // furnished to do so, subject to the following conditions:
14 karl  1.2 // 
15 chip  1.1 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
16           // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
17           // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
18           // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
19           // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20           // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
21           // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22           // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23           //
24           //==============================================================================
25           //
26           // Author: Chip Vincent (cvincent@us.ibm.com)
27           //
28           // Modified By:
29           //
30           //%/////////////////////////////////////////////////////////////////////////////
31           
32           #ifndef Pegasus_MutexLock_h
33           #define Pegasus_MutexLock_h
34           
35           #include <Pegasus/Common/Config.h>
36 chip  1.1 #include <Pegasus/Common/IPC.h>
37           
38           #include <Pegasus/Server/Linkage.h>
39           
40           PEGASUS_NAMESPACE_BEGIN
41           
42           class PEGASUS_SERVER_LINKAGE MutexLock
43           {
44           public:
45               MutexLock(Mutex & mutex) : _mutex(mutex)
46               {
47 kumpf 1.3         _mutex.lock(pegasus_thread_self());
48 chip  1.1     }
49           
50               ~MutexLock(void)
51               {
52                   _mutex.unlock();
53               }
54           
55           private:
56               Mutex & _mutex;
57           
58           };
59           
60           PEGASUS_NAMESPACE_END
61           
62           #endif

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2