Blame SOURCES/0001-Specify-noexcept-for-cdef-functions.patch

cd4c38
From 45d31dba83999638808891ee7bf93638106bdb71 Mon Sep 17 00:00:00 2001
cd4c38
From: Atri Bhattacharya <badshah400@gmail.com>
cd4c38
Date: Thu, 7 Sep 2023 07:06:56 +0200
cd4c38
Subject: [PATCH] Specify noexcept for cdef functions.
cd4c38
MIME-Version: 1.0
cd4c38
Content-Type: text/plain; charset=UTF-8
cd4c38
Content-Transfer-Encoding: 8bit
cd4c38
cd4c38
To build against cython 3.0, cdef functions that do not raise exceptions
cd4c38
need to be explicitly declared as noexcept. Fixes issue #33918.
cd4c38
cd4c38
Co-Authored-By: Miro HronĨok <miro@hroncok.cz>
cd4c38
---
cd4c38
 .../grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi |  2 +-
cd4c38
 .../grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi |  2 +-
cd4c38
 .../grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi  |  2 +-
cd4c38
 .../grpcio/grpc/_cython/_cygrpc/fork_posix.pxd.pxi   | 12 ++++++------
cd4c38
 .../grpcio/grpc/_cython/_cygrpc/fork_posix.pyx.pxi   |  6 +++---
cd4c38
 .../grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi       |  6 +++---
cd4c38
 6 files changed, 15 insertions(+), 15 deletions(-)
cd4c38
cd4c38
diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi
cd4c38
index e54e510..26edbdb 100644
cd4c38
--- a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi
cd4c38
+++ b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi
cd4c38
@@ -48,7 +48,7 @@ cdef class CallbackWrapper:
cd4c38
     @staticmethod
cd4c38
     cdef void functor_run(
cd4c38
             grpc_completion_queue_functor* functor,
cd4c38
-            int succeed)
cd4c38
+            int succeed) noexcept
cd4c38
 
cd4c38
     cdef grpc_completion_queue_functor *c_functor(self)
cd4c38
 
cd4c38
diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi
cd4c38
index f2d94a9..5dda90a 100644
cd4c38
--- a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi
cd4c38
+++ b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi
cd4c38
@@ -50,7 +50,7 @@ cdef class CallbackWrapper:
cd4c38
     @staticmethod
cd4c38
     cdef void functor_run(
cd4c38
             grpc_completion_queue_functor* functor,
cd4c38
-            int success):
cd4c38
+            int success) noexcept:
cd4c38
         cdef CallbackContext *context = <CallbackContext *>functor
cd4c38
         cdef object waiter = <object>context.waiter
cd4c38
         if not waiter.cancelled():
cd4c38
diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi
cd4c38
index 23de3a0..52071f5 100644
cd4c38
--- a/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi
cd4c38
+++ b/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi
cd4c38
@@ -314,7 +314,7 @@ def server_credentials_ssl_dynamic_cert_config(initial_cert_config,
cd4c38
   return credentials
cd4c38
 
cd4c38
 cdef grpc_ssl_certificate_config_reload_status _server_cert_config_fetcher_wrapper(
cd4c38
-        void* user_data, grpc_ssl_server_certificate_config **config) with gil:
cd4c38
+        void* user_data, grpc_ssl_server_certificate_config **config) noexcept with gil:
cd4c38
   # This is a credentials.ServerCertificateConfig
cd4c38
   cdef ServerCertificateConfig cert_config = None
cd4c38
   if not user_data:
cd4c38
diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pxd.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pxd.pxi
cd4c38
index a925bdd..5e97a6d 100644
cd4c38
--- a/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pxd.pxi
cd4c38
+++ b/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pxd.pxi
cd4c38
@@ -15,15 +15,15 @@
cd4c38
 
cd4c38
 cdef extern from "pthread.h" nogil:
cd4c38
     int pthread_atfork(
cd4c38
-        void (*prepare)() nogil,
cd4c38
-        void (*parent)() nogil,
cd4c38
-        void (*child)() nogil)
cd4c38
+        void (*prepare)() noexcept nogil,
cd4c38
+        void (*parent)() noexcept nogil,
cd4c38
+        void (*child)() noexcept nogil) noexcept
cd4c38
 
cd4c38
 
cd4c38
-cdef void __prefork() nogil
cd4c38
+cdef void __prefork() noexcept nogil
cd4c38
 
cd4c38
 
cd4c38
-cdef void __postfork_parent() nogil
cd4c38
+cdef void __postfork_parent() noexcept nogil
cd4c38
 
cd4c38
 
cd4c38
-cdef void __postfork_child() nogil
cd4c38
\ No newline at end of file
cd4c38
+cdef void __postfork_child() noexcept nogil
cd4c38
\ No newline at end of file
cd4c38
diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pyx.pxi
cd4c38
index 53657e8..d4d1cff 100644
cd4c38
--- a/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pyx.pxi
cd4c38
+++ b/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pyx.pxi
cd4c38
@@ -34,7 +34,7 @@ _GRPC_ENABLE_FORK_SUPPORT = (
cd4c38
 
cd4c38
 _fork_handler_failed = False
cd4c38
 
cd4c38
-cdef void __prefork() nogil:
cd4c38
+cdef void __prefork() noexcept nogil:
cd4c38
     with gil:
cd4c38
         global _fork_handler_failed
cd4c38
         _fork_handler_failed = False
cd4c38
@@ -48,14 +48,14 @@ cdef void __prefork() nogil:
cd4c38
             _fork_handler_failed = True
cd4c38
 
cd4c38
 
cd4c38
-cdef void __postfork_parent() nogil:
cd4c38
+cdef void __postfork_parent() noexcept nogil:
cd4c38
     with gil:
cd4c38
         with _fork_state.fork_in_progress_condition:
cd4c38
             _fork_state.fork_in_progress = False
cd4c38
             _fork_state.fork_in_progress_condition.notify_all()
cd4c38
 
cd4c38
 
cd4c38
-cdef void __postfork_child() nogil:
cd4c38
+cdef void __postfork_child() noexcept nogil:
cd4c38
     with gil:
cd4c38
         try:
cd4c38
             if _fork_handler_failed:
cd4c38
diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi
cd4c38
index da4b81b..f594100 100644
cd4c38
--- a/src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi
cd4c38
+++ b/src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi
cd4c38
@@ -13,16 +13,16 @@
cd4c38
 # limitations under the License.
cd4c38
 
cd4c38
 # TODO(https://github.com/grpc/grpc/issues/15662): Reform this.
cd4c38
-cdef void* _copy_pointer(void* pointer):
cd4c38
+cdef void* _copy_pointer(void* pointer) noexcept:
cd4c38
   return pointer
cd4c38
 
cd4c38
 
cd4c38
 # TODO(https://github.com/grpc/grpc/issues/15662): Reform this.
cd4c38
-cdef void _destroy_pointer(void* pointer):
cd4c38
+cdef void _destroy_pointer(void* pointer) noexcept:
cd4c38
   pass
cd4c38
 
cd4c38
 
cd4c38
-cdef int _compare_pointer(void* first_pointer, void* second_pointer):
cd4c38
+cdef int _compare_pointer(void* first_pointer, void* second_pointer) noexcept:
cd4c38
   if first_pointer < second_pointer:
cd4c38
     return -1
cd4c38
   elif first_pointer > second_pointer:
cd4c38
-- 
cd4c38
2.41.0
cd4c38