# HG changeset patch # User Franz Glasner # Date 1664227260 -7200 # Node ID 60f751ce41dd16a3d6d43a9c5b312d84ffeca97e # Parent aaf8da3affd75ecffae976e2bedef89080d5a0a2 Patch greenlet.c to compile with clang 13.0. To cast an enum to void* and vice versa use an intermediate cast to uintptr_t. diff -r aaf8da3affd7 -r 60f751ce41dd uwsginl/files/patch-plugins_greenlet_greenlet.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uwsginl/files/patch-plugins_greenlet_greenlet.c Mon Sep 26 23:21:00 2022 +0200 @@ -0,0 +1,16 @@ +--- plugins/greenlet/greenlet.c.orig 2022-09-26 21:13:25 UTC ++++ plugins/greenlet/greenlet.c +@@ -35,11 +35,11 @@ end: + } + + static void gil_greenlet_get() { +- pthread_setspecific(up.upt_gil_key, (void *) PyGILState_Ensure()); ++ pthread_setspecific(up.upt_gil_key, (void *) (uintptr_t) PyGILState_Ensure()); + } + + static void gil_greenlet_release() { +- PyGILState_Release((PyGILState_STATE) pthread_getspecific(up.upt_gil_key)); ++ PyGILState_Release((PyGILState_STATE) (uintptr_t) pthread_getspecific(up.upt_gil_key)); + } + + static PyObject *py_uwsgi_greenlet_request(PyObject * self, PyObject *args) {