aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2017-04-21 17:44:25 +0200
committerMattias Andrée <maandree@kth.se>2017-04-21 17:44:25 +0200
commit131a451ba0d5ec7bb515c82914b6b52ca66a2a66 (patch)
treeed6e094ea8fc8325b07612859b2d36b7978f1799
parenttypo (diff)
downloadpylibgamma-131a451ba0d5ec7bb515c82914b6b52ca66a2a66.tar.gz
pylibgamma-131a451ba0d5ec7bb515c82914b6b52ca66a2a66.tar.bz2
pylibgamma-131a451ba0d5ec7bb515c82914b6b52ca66a2a66.tar.xz
Disable global interpretor lock while running external C code1.1.2
Signed-off-by: Mattias Andrée <maandree@kth.se>
-rw-r--r--src/libgamma_native_error.pyx14
-rw-r--r--src/libgamma_native_error.w32.pyx6
-rw-r--r--src/libgamma_native_facade.pyx56
-rw-r--r--src/libgamma_native_method.pyx24
4 files changed, 50 insertions, 50 deletions
diff --git a/src/libgamma_native_error.pyx b/src/libgamma_native_error.pyx
index fb2d8d2..6963a44 100644
--- a/src/libgamma_native_error.pyx
+++ b/src/libgamma_native_error.pyx
@@ -23,15 +23,15 @@ from posix.unistd cimport gid_t
from libc.string cimport strerror as c_strerror
-cdef extern gid_t libgamma_group_gid_get()
-cdef extern void libgamma_group_gid_set(gid_t)
+cdef extern gid_t libgamma_group_gid_get() nogil
+cdef extern void libgamma_group_gid_set(gid_t) nogil
'''
Group that the user needs to be a member of if
`LIBGAMMA_DEVICE_REQUIRE_GROUP` is returned.
'''
-cdef extern const char* libgamma_group_name_get()
-cdef extern void libgamma_group_name_set(const char*)
+cdef extern const char* libgamma_group_name_get() nogil
+cdef extern void libgamma_group_name_set(const char*) nogil
'''
Group that the user needs to be a member of if
`LIBGAMMA_DEVICE_REQUIRE_GROUP` is returned,
@@ -40,7 +40,7 @@ cannot be determined.
'''
-cdef extern void libgamma_perror(const char* name, int error_code)
+cdef extern void libgamma_perror(const char* name, int error_code) nogil
'''
Prints an error to stderr in a `perror` fashion,
however this function will not translate the `libgamma`
@@ -59,7 +59,7 @@ and, if known, its name.
@param value The error code, may be an `errno` value.
'''
-cdef extern const char* libgamma_name_of_error(int value)
+cdef extern const char* libgamma_name_of_error(int value) nogil
'''
Returns the name of the definition associated with a `libgamma` error code.
@@ -69,7 +69,7 @@ Returns the name of the definition associated with a `libgamma` error code.
should not be `free`:d.
'''
-cdef extern int libgamma_value_of_error(const char* name)
+cdef extern int libgamma_value_of_error(const char* name) nogil
'''
Return the value of a `libgamma` error definition refered to by name.
diff --git a/src/libgamma_native_error.w32.pyx b/src/libgamma_native_error.w32.pyx
index 673da5d..abef314 100644
--- a/src/libgamma_native_error.w32.pyx
+++ b/src/libgamma_native_error.w32.pyx
@@ -35,7 +35,7 @@ cannot be determined.
'''
-cdef extern void libgamma_perror(const char* name, int error_code)
+cdef extern void libgamma_perror(const char* name, int error_code) nogil
'''
Prints an error to stderr in a `perror` fashion,
however this function will not translate the `libgamma`
@@ -54,7 +54,7 @@ and, if known, its name.
@param value The error code, may be an `errno` value.
'''
-cdef extern const char* libgamma_name_of_error(int value)
+cdef extern const char* libgamma_name_of_error(int value) nogil
'''
Returns the name of the definition associated with a `libgamma` error code.
@@ -64,7 +64,7 @@ Returns the name of the definition associated with a `libgamma` error code.
should not be `free`:d.
'''
-cdef extern int libgamma_value_of_error(const char* name)
+cdef extern int libgamma_value_of_error(const char* name) nogil
'''
Return the value of a `libgamma` error definition refered to by name.
diff --git a/src/libgamma_native_facade.pyx b/src/libgamma_native_facade.pyx
index 3c342da..32846e2 100644
--- a/src/libgamma_native_facade.pyx
+++ b/src/libgamma_native_facade.pyx
@@ -449,7 +449,7 @@ cdef extern from "include-libgamma.h":
# The gamma ramp for the blue channel.
-cdef extern size_t libgamma_list_methods(int* methods, size_t buf_size, int operation)
+cdef extern size_t libgamma_list_methods(int* methods, size_t buf_size, int operation) nogil
'''
List available adjustment methods by their order of preference based on the environment.
@@ -469,7 +469,7 @@ List available adjustment methods by their order of preference based on the envi
'''
-cdef extern int libgamma_is_method_available(int method)
+cdef extern int libgamma_is_method_available(int method) nogil
'''
Check whether an adjustment method is available, non-existing (invalid) methods will be
identified as not available under the rationale that the library may be out of date.
@@ -479,7 +479,7 @@ identified as not available under the rationale that the library may be out of d
'''
-cdef extern void libgamma_method_capabilities(libgamma_method_capabilities_t* this, int method)
+cdef extern void libgamma_method_capabilities(libgamma_method_capabilities_t* this, int method) nogil
'''
Return the capabilities of an adjustment method.
@@ -488,7 +488,7 @@ Return the capabilities of an adjustment method.
'''
-cdef extern char* libgamma_method_default_site(int method)
+cdef extern char* libgamma_method_default_site(int method) nogil
'''
Return the default site for an adjustment method.
@@ -499,7 +499,7 @@ Return the default site for an adjustment method.
'''
-cdef extern const char* libgamma_method_default_site_variable(int method)
+cdef extern const char* libgamma_method_default_site_variable(int method) nogil
'''
Return the default variable that determines
the default site for an adjustment method.
@@ -513,7 +513,7 @@ the default site for an adjustment method.
-cdef extern int libgamma_site_initialise(libgamma_site_state_t* this, int method, char* site)
+cdef extern int libgamma_site_initialise(libgamma_site_state_t* this, int method, char* site) nogil
'''
Initialise an allocated site state.
@@ -530,7 +530,7 @@ Initialise an allocated site state.
'''
-cdef extern void libgamma_site_free(libgamma_site_state_t* this)
+cdef extern void libgamma_site_free(libgamma_site_state_t* this) nogil
'''
Release all resources held by a site state
and free the site state pointer.
@@ -539,7 +539,7 @@ and free the site state pointer.
'''
-cdef extern int libgamma_site_restore(libgamma_site_state_t* this)
+cdef extern int libgamma_site_restore(libgamma_site_state_t* this) nogil
'''
Restore the gamma ramps all CRTC:s with a site to the system settings.
@@ -550,7 +550,7 @@ Restore the gamma ramps all CRTC:s with a site to the system settings.
-cdef extern int libgamma_partition_initialise(libgamma_partition_state_t* this, libgamma_site_state_t* site, size_t partition)
+cdef extern int libgamma_partition_initialise(libgamma_partition_state_t* this, libgamma_site_state_t* site, size_t partition) nogil
'''
Initialise an allocated partition state.
@@ -562,7 +562,7 @@ Initialise an allocated partition state.
'''
-cdef extern void libgamma_partition_free(libgamma_partition_state_t* this)
+cdef extern void libgamma_partition_free(libgamma_partition_state_t* this) nogil
'''
Release all resources held by a partition state
and free the partition state pointer.
@@ -571,7 +571,7 @@ and free the partition state pointer.
'''
-cdef extern int libgamma_partition_restore(libgamma_partition_state_t* this)
+cdef extern int libgamma_partition_restore(libgamma_partition_state_t* this) nogil
'''
Restore the gamma ramps all CRTC:s with a partition to the system settings.
@@ -582,7 +582,7 @@ Restore the gamma ramps all CRTC:s with a partition to the system settings.
-cdef extern int libgamma_crtc_initialise(libgamma_crtc_state_t* this, libgamma_partition_state_t* partition, size_t crtc)
+cdef extern int libgamma_crtc_initialise(libgamma_crtc_state_t* this, libgamma_partition_state_t* partition, size_t crtc) nogil
'''
Initialise an allocated CRTC state.
@@ -594,7 +594,7 @@ Initialise an allocated CRTC state.
'''
-cdef extern void libgamma_crtc_free(libgamma_crtc_state_t* this)
+cdef extern void libgamma_crtc_free(libgamma_crtc_state_t* this) nogil
'''
Release all resources held by a CRTC state
and free the CRTC state pointer.
@@ -603,7 +603,7 @@ and free the CRTC state pointer.
'''
-cdef extern int libgamma_crtc_restore(libgamma_crtc_state_t* this)
+cdef extern int libgamma_crtc_restore(libgamma_crtc_state_t* this) nogil
'''
Restore the gamma ramps for a CRTC to the system settings for that CRTC.
@@ -614,7 +614,7 @@ Restore the gamma ramps for a CRTC to the system settings for that CRTC.
-cdef extern int libgamma_get_crtc_information(libgamma_crtc_information_t* this, libgamma_crtc_state_t* crtc, int32_t fields)
+cdef extern int libgamma_get_crtc_information(libgamma_crtc_information_t* this, libgamma_crtc_state_t* crtc, int32_t fields) nogil
'''
Read information about a CRTC.
@@ -625,7 +625,7 @@ Read information about a CRTC.
'''
-cdef extern void libgamma_crtc_information_destroy(libgamma_crtc_information_t* this)
+cdef extern void libgamma_crtc_information_destroy(libgamma_crtc_information_t* this) nogil
'''
Release all resources in an information data structure for a CRTC.
@@ -634,7 +634,7 @@ Release all resources in an information data structure for a CRTC.
-cdef extern int libgamma_crtc_get_gamma_ramps8(libgamma_crtc_state_t* this, libgamma_gamma_ramps8_t* ramps)
+cdef extern int libgamma_crtc_get_gamma_ramps8(libgamma_crtc_state_t* this, libgamma_gamma_ramps8_t* ramps) nogil
'''
Get the current gamma ramps for a CRTC, 8-bit gamma-depth version.
@@ -645,7 +645,7 @@ Get the current gamma ramps for a CRTC, 8-bit gamma-depth version.
'''
-cdef extern int libgamma_crtc_set_gamma_ramps8(libgamma_crtc_state_t* this, libgamma_gamma_ramps8_t ramps)
+cdef extern int libgamma_crtc_set_gamma_ramps8(libgamma_crtc_state_t* this, libgamma_gamma_ramps8_t ramps) nogil
'''
Set the gamma ramps for a CRTC, 8-bit gamma-depth version.
@@ -657,7 +657,7 @@ Set the gamma ramps for a CRTC, 8-bit gamma-depth version.
-cdef extern int libgamma_crtc_get_gamma_ramps16(libgamma_crtc_state_t* this, libgamma_gamma_ramps16_t* ramps)
+cdef extern int libgamma_crtc_get_gamma_ramps16(libgamma_crtc_state_t* this, libgamma_gamma_ramps16_t* ramps) nogil
'''
Get the current gamma ramps for a CRTC, 16-bit gamma-depth version.
@@ -668,7 +668,7 @@ Get the current gamma ramps for a CRTC, 16-bit gamma-depth version.
'''
-cdef extern int libgamma_crtc_set_gamma_ramps16(libgamma_crtc_state_t* this, libgamma_gamma_ramps16_t ramps)
+cdef extern int libgamma_crtc_set_gamma_ramps16(libgamma_crtc_state_t* this, libgamma_gamma_ramps16_t ramps) nogil
'''
Set the gamma ramps for a CRTC, 16-bit gamma-depth version.
@@ -680,7 +680,7 @@ Set the gamma ramps for a CRTC, 16-bit gamma-depth version.
-cdef extern int libgamma_crtc_get_gamma_ramps32(libgamma_crtc_state_t* this, libgamma_gamma_ramps32_t* ramps)
+cdef extern int libgamma_crtc_get_gamma_ramps32(libgamma_crtc_state_t* this, libgamma_gamma_ramps32_t* ramps) nogil
'''
Get the current gamma ramps for a CRTC, 32-bit gamma-depth version.
@@ -691,7 +691,7 @@ Get the current gamma ramps for a CRTC, 32-bit gamma-depth version.
'''
-cdef extern int libgamma_crtc_set_gamma_ramps32(libgamma_crtc_state_t* this, libgamma_gamma_ramps32_t ramps)
+cdef extern int libgamma_crtc_set_gamma_ramps32(libgamma_crtc_state_t* this, libgamma_gamma_ramps32_t ramps) nogil
'''
Set the gamma ramps for a CRTC, 32-bit gamma-depth version.
@@ -703,7 +703,7 @@ Set the gamma ramps for a CRTC, 32-bit gamma-depth version.
-cdef extern int libgamma_crtc_get_gamma_ramps64(libgamma_crtc_state_t* this, libgamma_gamma_ramps64_t* ramps)
+cdef extern int libgamma_crtc_get_gamma_ramps64(libgamma_crtc_state_t* this, libgamma_gamma_ramps64_t* ramps) nogil
'''
Get the current gamma ramps for a CRTC, 64-bit gamma-depth version.
@@ -714,7 +714,7 @@ Get the current gamma ramps for a CRTC, 64-bit gamma-depth version.
'''
-cdef extern int libgamma_crtc_set_gamma_ramps64(libgamma_crtc_state_t* this, libgamma_gamma_ramps64_t ramps)
+cdef extern int libgamma_crtc_set_gamma_ramps64(libgamma_crtc_state_t* this, libgamma_gamma_ramps64_t ramps) nogil
'''
Set the gamma ramps for a CRTC, 64-bit gamma-depth version.
@@ -726,7 +726,7 @@ Set the gamma ramps for a CRTC, 64-bit gamma-depth version.
-cdef extern int libgamma_crtc_set_gamma_rampsf(libgamma_crtc_state_t* this, libgamma_gamma_rampsf_t ramps)
+cdef extern int libgamma_crtc_set_gamma_rampsf(libgamma_crtc_state_t* this, libgamma_gamma_rampsf_t ramps) nogil
'''
Set the gamma ramps for a CRTC, `float` version.
@@ -737,7 +737,7 @@ Set the gamma ramps for a CRTC, `float` version.
'''
-cdef extern int libgamma_crtc_get_gamma_rampsf(libgamma_crtc_state_t* this, libgamma_gamma_rampsf_t* ramps)
+cdef extern int libgamma_crtc_get_gamma_rampsf(libgamma_crtc_state_t* this, libgamma_gamma_rampsf_t* ramps) nogil
'''
Get the current gamma ramps for a CRTC, `float` version.
@@ -749,7 +749,7 @@ Get the current gamma ramps for a CRTC, `float` version.
-cdef extern int libgamma_crtc_get_gamma_rampsd(libgamma_crtc_state_t* this, libgamma_gamma_rampsd_t* ramps)
+cdef extern int libgamma_crtc_get_gamma_rampsd(libgamma_crtc_state_t* this, libgamma_gamma_rampsd_t* ramps) nogil
'''
Get the current gamma ramps for a CRTC, `double` version.
@@ -760,7 +760,7 @@ Get the current gamma ramps for a CRTC, `double` version.
'''
-cdef extern int libgamma_crtc_set_gamma_rampsd(libgamma_crtc_state_t* this, libgamma_gamma_rampsd_t ramps)
+cdef extern int libgamma_crtc_set_gamma_rampsd(libgamma_crtc_state_t* this, libgamma_gamma_rampsd_t ramps) nogil
'''
Set the gamma ramps for a CRTC, `double` version.
diff --git a/src/libgamma_native_method.pyx b/src/libgamma_native_method.pyx
index 1883217..1550caf 100644
--- a/src/libgamma_native_method.pyx
+++ b/src/libgamma_native_method.pyx
@@ -117,7 +117,7 @@ cdef extern from "include-libgamma.h":
# The gamma ramp for the blue channel.
-cdef extern int libgamma_gamma_ramps8_initialise(libgamma_gamma_ramps8_t* this)
+cdef extern int libgamma_gamma_ramps8_initialise(libgamma_gamma_ramps8_t* this) nogil
'''
Initialise a gamma ramp in the proper way that allows all adjustment
methods to read from and write to it without causing segmentation violation.
@@ -129,7 +129,7 @@ sizes of the gamma ramps that should be allocated.
@return Zero on success, -1 on allocation error, `errno` will be set accordingly.
'''
-cdef extern void libgamma_gamma_ramps8_free(libgamma_gamma_ramps8_t* this)
+cdef extern void libgamma_gamma_ramps8_free(libgamma_gamma_ramps8_t* this) nogil
'''
Release resources that are held by a gamma ramp strcuture that
has been allocated by `libgamma_gamma_ramps8_initialise` or otherwise
@@ -140,7 +140,7 @@ to the structure.
'''
-cdef extern int libgamma_gamma_ramps16_initialise(libgamma_gamma_ramps16_t* this)
+cdef extern int libgamma_gamma_ramps16_initialise(libgamma_gamma_ramps16_t* this) nogil
'''
Initialise a gamma ramp in the proper way that allows all adjustment
methods to read from and write to it without causing segmentation violation.
@@ -152,7 +152,7 @@ sizes of the gamma ramps that should be allocated.
@return Zero on success, -1 on allocation error, `errno` will be set accordingly.
'''
-cdef extern void libgamma_gamma_ramps16_free(libgamma_gamma_ramps16_t* this)
+cdef extern void libgamma_gamma_ramps16_free(libgamma_gamma_ramps16_t* this) nogil
'''
Release resources that are held by a gamma ramp strcuture that
has been allocated by `libgamma_gamma_ramps16_initialise` or otherwise
@@ -163,7 +163,7 @@ to the structure.
'''
-cdef extern int libgamma_gamma_ramps32_initialise(libgamma_gamma_ramps32_t* this)
+cdef extern int libgamma_gamma_ramps32_initialise(libgamma_gamma_ramps32_t* this) nogil
'''
Initialise a gamma ramp in the proper way that allows all adjustment
methods to read from and write to it without causing segmentation violation.
@@ -175,7 +175,7 @@ sizes of the gamma ramps that should be allocated.
@return Zero on success, -1 on allocation error, `errno` will be set accordingly.
'''
-cdef extern void libgamma_gamma_ramps32_free(libgamma_gamma_ramps32_t* this)
+cdef extern void libgamma_gamma_ramps32_free(libgamma_gamma_ramps32_t* this) nogil
'''
Release resources that are held by a gamma ramp strcuture that
has been allocated by `libgamma_gamma_ramps32_initialise` or otherwise
@@ -186,7 +186,7 @@ to the structure.
'''
-cdef extern int libgamma_gamma_ramps64_initialise(libgamma_gamma_ramps64_t* this)
+cdef extern int libgamma_gamma_ramps64_initialise(libgamma_gamma_ramps64_t* this) nogil
'''
Initialise a gamma ramp in the proper way that allows all adjustment
methods to read from and write to it without causing segmentation violation.
@@ -198,7 +198,7 @@ sizes of the gamma ramps that should be allocated.
@return Zero on success, -1 on allocation error, `errno` will be set accordingly.
'''
-cdef extern void libgamma_gamma_ramps64_free(libgamma_gamma_ramps64_t* this)
+cdef extern void libgamma_gamma_ramps64_free(libgamma_gamma_ramps64_t* this) nogil
'''
Release resources that are held by a gamma ramp strcuture that
has been allocated by `libgamma_gamma_ramps64_initialise` or otherwise
@@ -209,7 +209,7 @@ to the structure.
'''
-cdef extern int libgamma_gamma_rampsf_initialise(libgamma_gamma_rampsf_t* this)
+cdef extern int libgamma_gamma_rampsf_initialise(libgamma_gamma_rampsf_t* this) nogil
'''
Initialise a gamma ramp in the proper way that allows all adjustment
methods to read from and write to it without causing segmentation violation.
@@ -221,7 +221,7 @@ sizes of the gamma ramps that should be allocated.
@return Zero on success, -1 on allocation error, `errno` will be set accordingly.
'''
-cdef extern void libgamma_gamma_rampsf_free(libgamma_gamma_rampsf_t* this)
+cdef extern void libgamma_gamma_rampsf_free(libgamma_gamma_rampsf_t* this) nogil
'''
Release resources that are held by a gamma ramp strcuture that
has been allocated by `libgamma_gamma_rampsf_initialise` or otherwise
@@ -232,7 +232,7 @@ to the structure.
'''
-cdef extern int libgamma_gamma_rampsd_initialise(libgamma_gamma_rampsd_t* this)
+cdef extern int libgamma_gamma_rampsd_initialise(libgamma_gamma_rampsd_t* this) nogil
'''
Initialise a gamma ramp in the proper way that allows all adjustment
methods to read from and write to it without causing segmentation violation.
@@ -244,7 +244,7 @@ sizes of the gamma ramps that should be allocated.
@return Zero on success, -1 on allocation error, `errno` will be set accordingly.
'''
-cdef extern void libgamma_gamma_rampsd_free(libgamma_gamma_rampsd_t* this)
+cdef extern void libgamma_gamma_rampsd_free(libgamma_gamma_rampsd_t* this) nogil
'''
Release resources that are held by a gamma ramp strcuture that
has been allocated by `libgamma_gamma_rampsd_initialise` or otherwise