diff --git a/api/GenApi.py b/api/GenApi.py index 93e2ae964bdcf830f16c423cef5fa6d627ed4bed..9f3020355d5226e4743ce0a47bd27dfae7f00823 100644 --- a/api/GenApi.py +++ b/api/GenApi.py @@ -1005,7 +1005,7 @@ from math import pi __version__ = {5}_API_VERSION -signal.signal(signal.SIGINT, signal.SIG_DFL) +oldsig = signal.signal(signal.SIGINT, signal.SIG_DFL) libdir = os.path.dirname(os.path.realpath(__file__)) if platform.system() == "Windows": libpath = os.path.join(libdir, "{6}-{3}.{4}.dll") @@ -1386,6 +1386,8 @@ class API: (",\n" + indent + " ").join( tuple((a.python_arg for a in args)) + ("byref(ierr)", )) + ")\n") + if name == "finalize": # special case for finalize() function + f.write(indent + "signal.signal(signal.SIGINT, oldsig)\n") f.write(indent + "if ierr.value != 0:\n") f.write(indent + " raise ValueError(\n") f.write(indent + ' "' + c_name + diff --git a/api/gmsh.py b/api/gmsh.py index 67fc598ad34e34ac5ba22e16738d816e01fcf580..6e370e80bb068fd2a251e13b5eef160656ea760e 100644 --- a/api/gmsh.py +++ b/api/gmsh.py @@ -24,7 +24,7 @@ GMSH_API_VERSION_MINOR = 6 __version__ = GMSH_API_VERSION -signal.signal(signal.SIGINT, signal.SIG_DFL) +oldsig = signal.signal(signal.SIGINT, signal.SIG_DFL) libdir = os.path.dirname(os.path.realpath(__file__)) if platform.system() == "Windows": libpath = os.path.join(libdir, "gmsh-4.6.dll") @@ -212,6 +212,7 @@ def finalize(): ierr = c_int() lib.gmshFinalize( byref(ierr)) + signal.signal(signal.SIGINT, oldsig) if ierr.value != 0: raise ValueError( "gmshFinalize returned non-zero error code: ",