summaryrefslogtreecommitdiffstats
path: root/contrib/tools/cython/Cython/Includes/libcpp/latch.pxd
blob: 1d5cba4306278c9b3b61962b6ba6f9448837600a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from libcpp cimport bool

cdef extern from "<latch>" namespace "std" nogil:
    # Note on thread safety:
    # For any of the blocking functions, you should be very careful
    # to ensure that you are not deadlocked on the GIL.
    cdef cppclass latch:
        latch(ptrdiff_t expected)

        void count_down() except+
        void count_down(ptrdiff_t n) except+
        bool try_wait()
        void wait() except+
        void arrive_and_wait() except+
        void arrive_and_wait(ptrdiff_t n) except+

        ptrdiff_t max()