From 81574b80e92554adf75c13fa42415beb8be383cb Mon Sep 17 00:00:00 2001 From: William Orr Date: Mon, 1 Oct 2018 22:19:56 -0700 Subject: [PATCH] closes bpo-34862: Guard definition of convert_sched_param with POSIX_SPAWN_SETSCHEDULER. (GH-9658) Fixes broken build on OpenBSD-current. --- Modules/clinic/posixmodule.c.h | 6 +++--- Modules/posixmodule.c | 10 ++++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Modules/clinic/posixmodule.c.h b/Modules/clinic/posixmodule.c.h index 704c824e9e3..99a1be70c12 100644 --- a/Modules/clinic/posixmodule.c.h +++ b/Modules/clinic/posixmodule.c.h @@ -2064,7 +2064,7 @@ exit: #endif /* defined(HAVE_SCHED_H) && defined(HAVE_SCHED_SETSCHEDULER) */ -#if defined(HAVE_SCHED_H) && (defined(HAVE_SCHED_SETSCHEDULER) || defined(HAVE_SCHED_SETPARAM)) +#if defined(HAVE_SCHED_H) && (defined(HAVE_SCHED_SETPARAM) || defined(HAVE_SCHED_SETSCHEDULER) || defined(POSIX_SPAWN_SETSCHEDULER) || defined(POSIX_SPAWN_SETSCHEDPARAM)) PyDoc_STRVAR(os_sched_param__doc__, "sched_param(sched_priority)\n" @@ -2096,7 +2096,7 @@ exit: return return_value; } -#endif /* defined(HAVE_SCHED_H) && (defined(HAVE_SCHED_SETSCHEDULER) || defined(HAVE_SCHED_SETPARAM)) */ +#endif /* defined(HAVE_SCHED_H) && (defined(HAVE_SCHED_SETPARAM) || defined(HAVE_SCHED_SETSCHEDULER) || defined(POSIX_SPAWN_SETSCHEDULER) || defined(POSIX_SPAWN_SETSCHEDPARAM)) */ #if defined(HAVE_SCHED_H) && defined(HAVE_SCHED_SETSCHEDULER) @@ -6757,4 +6757,4 @@ exit: #ifndef OS_GETRANDOM_METHODDEF #define OS_GETRANDOM_METHODDEF #endif /* !defined(OS_GETRANDOM_METHODDEF) */ -/*[clinic end generated code: output=40cac0135f846202 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=1603fddefffa1fb9 input=a9049054013a1b77]*/ diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index c7223ab5205..23552bea4ca 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -1942,7 +1942,7 @@ static PyTypeObject WaitidResultType; static int initialized; static PyTypeObject StatResultType; static PyTypeObject StatVFSResultType; -#if defined(HAVE_SCHED_SETPARAM) || defined(HAVE_SCHED_SETSCHEDULER) +#if defined(HAVE_SCHED_SETPARAM) || defined(HAVE_SCHED_SETSCHEDULER) || defined(POSIX_SPAWN_SETSCHEDULER) || defined(POSIX_SPAWN_SETSCHEDPARAM) static PyTypeObject SchedParamType; #endif static newfunc structseq_new; @@ -5160,8 +5160,10 @@ enum posix_spawn_file_actions_identifier { POSIX_SPAWN_DUP2 }; +#if defined(HAVE_SCHED_SETPARAM) || defined(HAVE_SCHED_SETSCHEDULER) || defined(POSIX_SPAWN_SETSCHEDULER) || defined(POSIX_SPAWN_SETSCHEDPARAM) static int convert_sched_param(PyObject *param, struct sched_param *res); +#endif static int parse_posix_spawn_flags(PyObject *setpgroup, int resetids, PyObject *setsigmask, @@ -5925,7 +5927,7 @@ os_sched_getscheduler_impl(PyObject *module, pid_t pid) #endif /* HAVE_SCHED_SETSCHEDULER */ -#if defined(HAVE_SCHED_SETSCHEDULER) || defined(HAVE_SCHED_SETPARAM) +#if defined(HAVE_SCHED_SETPARAM) || defined(HAVE_SCHED_SETSCHEDULER) || defined(POSIX_SPAWN_SETSCHEDULER) || defined(POSIX_SPAWN_SETSCHEDPARAM) /*[clinic input] class os.sched_param "PyObject *" "&SchedParamType" @@ -5986,7 +5988,7 @@ convert_sched_param(PyObject *param, struct sched_param *res) res->sched_priority = Py_SAFE_DOWNCAST(priority, long, int); return 1; } -#endif /* defined(HAVE_SCHED_SETSCHEDULER) || defined(HAVE_SCHED_SETPARAM) */ +#endif /* defined(HAVE_SCHED_SETPARAM) || defined(HAVE_SCHED_SETSCHEDULER) || defined(POSIX_SPAWN_SETSCHEDULER) || defined(POSIX_SPAWN_SETSCHEDPARAM) */ #ifdef HAVE_SCHED_SETSCHEDULER @@ -13925,7 +13927,7 @@ INITFUNC(void) # endif #endif -#if defined(HAVE_SCHED_SETPARAM) || defined(HAVE_SCHED_SETSCHEDULER) +#if defined(HAVE_SCHED_SETPARAM) || defined(HAVE_SCHED_SETSCHEDULER) || defined(POSIX_SPAWN_SETSCHEDULER) || defined(POSIX_SPAWN_SETSCHEDPARAM) sched_param_desc.name = MODNAME ".sched_param"; if (PyStructSequence_InitType2(&SchedParamType, &sched_param_desc) < 0) return NULL;