summaryrefslogtreecommitdiff
path: root/docs/examples/userguide/parallelism/breaking_loop.pyx
blob: 2cf562edf3b2e222f83bd3c06ace5cad3f8c1a41 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
from cython.parallel import prange

cdef int func(Py_ssize_t n) except -1:
    cdef Py_ssize_t i

    for i in prange(n, nogil=True):
        if i == 8:
            with gil:
                raise Exception()
        elif i == 4:
            break
        elif i == 2:
            return i