summaryrefslogtreecommitdiff
path: root/docs/examples/userguide/parallelism/breaking_loop.pyx
blob: d11b179d9056b55e9a99c8b3e74b463f2c61150f (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):
    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