[WIP] bpo-35537: Fix function name in os.posix_spawnp() errors by vstinner · Pull Request #11719 · python/cpython
static int parse_posix_spawn_flags(PyObject *setpgroup, int resetids, int setsid, PyObject *setsigmask, parse_posix_spawn_flags(const char *func_name, PyObject *setpgroup, int resetids, int setsid, PyObject *setsigmask, PyObject *setsigdef, PyObject *scheduler, posix_spawnattr_t *attrp) { const char *func_name = "posix_spawnp"; long all_flags = 0;
errno = posix_spawnattr_init(attrp);
if (!PyList_Check(argv) && !PyTuple_Check(argv)) { PyErr_SetString(PyExc_TypeError, "posix_spawn: argv must be a tuple or list"); PyErr_Format(PyExc_TypeError, "%s: argv must be a tuple or list", func_name); goto exit; } argc = PySequence_Size(argv); if (argc < 1) { PyErr_SetString(PyExc_ValueError, "posix_spawn: argv must not be empty"); PyErr_Format(PyExc_ValueError, "%s: argv must not be empty", func_name); return NULL; }
if (!PyMapping_Check(env)) { PyErr_SetString(PyExc_TypeError, "posix_spawn: environment must be a mapping object"); PyErr_Format(PyExc_TypeError, "%s: environment must be a mapping object", func_name); goto exit; }
if (parse_posix_spawn_flags(setpgroup, resetids, setsid, setsigmask, setsigdef, scheduler, &attr)) { if (parse_posix_spawn_flags(func_name, setpgroup, resetids, setsid, setsigmask, setsigdef, scheduler, &attr)) { goto exit; } attrp = &attr;