PTLib
Version 2.12.9
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
semaphor.h
Go to the documentation of this file.
1
/*
2
* semaphor.h
3
*
4
* Thread synchronisation semaphore class.
5
*
6
* Portable Tools Library
7
*
8
* Copyright (c) 1993-1998 Equivalence Pty. Ltd.
9
*
10
* The contents of this file are subject to the Mozilla Public License
11
* Version 1.0 (the "License"); you may not use this file except in
12
* compliance with the License. You may obtain a copy of the License at
13
* http://www.mozilla.org/MPL/
14
*
15
* Software distributed under the License is distributed on an "AS IS"
16
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
17
* the License for the specific language governing rights and limitations
18
* under the License.
19
*
20
* The Original Code is Portable Windows Library.
21
*
22
* The Initial Developer of the Original Code is Equivalence Pty. Ltd.
23
*
24
* Portions are Copyright (C) 1993 Free Software Foundation, Inc.
25
* All Rights Reserved.
26
*
27
* Contributor(s): ______________________________________.
28
*
29
* $Revision: 28062 $
30
* $Author: rjongbloed $
31
* $Date: 2012-07-19 19:45:52 +1000 (Thu, 19 Jul 2012) $
32
*/
33
34
#ifndef PTLIB_SEMAPHORE_H
35
#define PTLIB_SEMAPHORE_H
36
37
#ifdef P_USE_PRAGMA
38
#pragma interface
39
#endif
40
41
#include <
ptlib/psync.h
>
42
#include <limits.h>
43
#include <
ptlib/critsec.h
>
44
78
class
PSemaphore
:
public
PSync
79
{
80
PCLASSINFO(
PSemaphore
,
PSync
);
81
82
public
:
89
PSemaphore
(
90
unsigned
initial,
91
unsigned
maximum
92
);
93
96
PSemaphore
(
const
PSemaphore
&);
97
101
~PSemaphore
();
103
109
virtual
void
Wait
();
110
117
virtual
PBoolean
Wait
(
118
const
PTimeInterval
& timeout
// Amount of time to wait for semaphore.
119
);
120
125
virtual
void
Signal
();
127
128
129
// Include platform dependent part of class
130
#ifdef _WIN32
131
#include "msos/ptlib/semaphor.h"
132
#else
133
#include "unix/ptlib/semaphor.h"
134
#endif
135
};
136
137
138
#endif // PTLIB_SEMAPHORE_H
139
140
141
// End Of File ///////////////////////////////////////////////////////////////
include
ptlib
semaphor.h
Generated on Mon Feb 17 2014 13:12:52 for PTLib by
1.8.3.1