| 130 | # |
| 131 | |
| 132 | class Semaphore(SemLock): |
| 133 | |
| 134 | def __init__(self, value=1, *, ctx): |
| 135 | SemLock.__init__(self, SEMAPHORE, value, SEM_VALUE_MAX, ctx=ctx) |
| 136 | |
| 137 | def get_value(self): |
| 138 | '''Returns current value of Semaphore. |
| 139 | |
| 140 | Raises NotImplementedError on Mac OSX |
| 141 | because of broken sem_getvalue(). |
| 142 | ''' |
| 143 | return self._semlock._get_value() |
| 144 | |
| 145 | def __repr__(self): |
| 146 | try: |
| 147 | value = self.get_value() |
| 148 | except Exception: |
| 149 | value = 'unknown' |
| 150 | return '<%s(value=%s)>' % (self.__class__.__name__, value) |
| 151 | |
| 152 | # |
| 153 | # Bounded semaphore |
no outgoing calls
no test coverage detected
searching dependent graphs…