summaryrefslogtreecommitdiff
path: root/docs/examples/userguide/parallelism/breaking_loop.py
diff options
context:
space:
mode:
Diffstat (limited to 'docs/examples/userguide/parallelism/breaking_loop.py')
-rw-r--r--docs/examples/userguide/parallelism/breaking_loop.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/docs/examples/userguide/parallelism/breaking_loop.py b/docs/examples/userguide/parallelism/breaking_loop.py
new file mode 100644
index 000000000..00d0225b5
--- /dev/null
+++ b/docs/examples/userguide/parallelism/breaking_loop.py
@@ -0,0 +1,15 @@
+from cython.parallel import prange
+
+@cython.exceptval(-1)
+@cython.cfunc
+def func(n: cython.Py_ssize_t) -> cython.int:
+ i: cython.Py_ssize_t
+
+ for i in prange(n, nogil=True):
+ if i == 8:
+ with cython.gil:
+ raise Exception()
+ elif i == 4:
+ break
+ elif i == 2:
+ return i