Specify C shared library in Pyroute2 namespace context
Since [1], it's possible to specify the shared library to be used
when creating a Pyroute2 namespace context.
As commented in [2], "privsep" library makes use of eventlet to
implement multitasking. If the method executed returns the GIL,
nothing guarantees that the "eventlet" executor will return it
again to this task. This could lead to timeouts during the
execution of those methods.
From https://docs.python.org/3.6/library/ctypes.html#ctypes.PyDLL:
"Instances of this class behave like CDLL instances, except that
the Python GIL is not released during the function call, and
after the function execution the Python error flag is checked."
Reviewed: https:/ /review. opendev. org/722254 /git.openstack. org/cgit/ openstack/ neutron/ commit/ ?id=68e5e1b8fe8 7b0b4938236f8f8 570d92ae044e20
Committed: https:/
Submitter: Zuul
Branch: master
commit 68e5e1b8fe87b0b 4938236f8f8570d 92ae044e20
Author: Rodolfo Alonso Hernandez <email address hidden>
Date: Thu Apr 23 09:42:44 2020 +0000
Specify C shared library in Pyroute2 namespace context
Since [1], it's possible to specify the shared library to be used
when creating a Pyroute2 namespace context.
As commented in [2], "privsep" library makes use of eventlet to
implement multitasking. If the method executed returns the GIL,
nothing guarantees that the "eventlet" executor will return it
again to this task. This could lead to timeouts during the
execution of those methods.
From https:/ /docs.python. org/3.6/ library/ ctypes. html#ctypes. PyDLL:
"Instances of this class behave like CDLL instances, except that
the Python GIL is not released during the function call, and
after the function execution the Python error flag is checked."
[1]https:/ /github. com/svinota/ pyroute2/ issues/ 702 /review. opendev. org/#/c/ 717017/
[2]https:/
Change-Id: I6c9f9adba8b443 3cc96704bb69dd4 e0d4b154ebd
Related-Bug: #1870352