Changeset: d63eb57c2247 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d63eb57c2247 Modified Files: sql/backends/monet5/UDF/pyapi/pyapi.c Branch: default Log Message:
Merge with Dec2016. diffs (51 lines): diff --git a/sql/backends/monet5/UDF/pyapi/pyapi.c b/sql/backends/monet5/UDF/pyapi/pyapi.c --- a/sql/backends/monet5/UDF/pyapi/pyapi.c +++ b/sql/backends/monet5/UDF/pyapi/pyapi.c @@ -39,6 +39,8 @@ const char* verbose_enableflag = "enable_pyverbose"; const char* warning_enableflag = "enable_pywarnings"; const char* debug_enableflag = "enable_pydebug"; +const char* fork_disableflag = "disable_fork"; +static bool option_disable_fork = false; #ifdef _PYAPI_VERBOSE_ static bool option_verbose; #endif @@ -320,16 +322,21 @@ str PyAPIeval(Client cntxt, MalBlkPtr mb } #ifdef HAVE_FORK - if (!mapped && !parallel_aggregation) { - MT_lock_set(&pyapiLock); - if (python_call_active) { - mapped = true; - holds_gil = false; - } else { - python_call_active = true; - holds_gil = true; + if (!option_disable_fork) { + if (!mapped && !parallel_aggregation) { + MT_lock_set(&pyapiLock); + if (python_call_active) { + mapped = true; + holds_gil = false; + } else { + python_call_active = true; + holds_gil = true; + } + MT_lock_unset(&pyapiLock); } - MT_lock_unset(&pyapiLock); + } else { + mapped = false; + holds_gil = true; } #endif @@ -1369,6 +1376,7 @@ str #ifdef _PYAPI_WARNINGS_ option_warning = GDKgetenv_isyes(warning_enableflag) || GDKgetenv_istrue(warning_enableflag); #endif + option_disable_fork = GDKgetenv_istrue(fork_disableflag) || GDKgetenv_isyes(fork_disableflag); return MAL_SUCCEED; } _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list