コード例 #1
0
 def __init__(self, size):
     self.size = size
     self.name = 'pym-%d-%d' % (os.getpid(), Arena._counter.next())
     self.buffer = mmap.mmap(-1, self.size, tagname=self.name)
     raise win32.GetLastError() == 0 or AssertionError(
         'tagname already in use')
     self._state = (self.size, self.name)
コード例 #2
0
    def WaitForMultipleObjects(events, wait_all, timeout):
        if not wait_all:
            raise NotImplementedError()

        for ev in events:
            res = WaitForSingleObject(ev, timeout)
            if res != WAIT_OBJECT_0:
                err = win32.GetLastError()
                msg = _overlapped.FormatMessage(err)
                raise WindowsError(err, msg)

        return WAIT_OBJECT_0
コード例 #3
0
 def __setstate__(self, state):
     self.size, self.name = self._state = state
     self.buffer = mmap.mmap(-1, self.size, tagname=self.name)
     assert win32.GetLastError() == win32.ERROR_ALREADY_EXISTS
コード例 #4
0
ファイル: heap.py プロジェクト: pombreda/elm
 def __init__(self, size):
     self.size = size
     self.name = 'pym-%d-%d' % (os.getpid(), next(Arena._counter))
     self.buffer = mmap.mmap(-1, self.size, tagname=self.name)
     assert win32.GetLastError() == 0, 'tagname already in use'
     self._state = (self.size, self.name)