diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2009-05-23 16:19:24 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2009-05-23 16:19:24 (GMT) |
commit | cd1376d75f97c87aaf1adf1e583a5affe2ca98e7 (patch) | |
tree | 0ba218faea4c408c3df2f7d7014d25c7d7f13a66 /Modules | |
parent | 794b3fc707d8ebc576c6881f85875c8a5a99c75a (diff) | |
download | cpython-cd1376d75f97c87aaf1adf1e583a5affe2ca98e7.zip cpython-cd1376d75f97c87aaf1adf1e583a5affe2ca98e7.tar.gz cpython-cd1376d75f97c87aaf1adf1e583a5affe2ca98e7.tar.bz2 |
Merged revisions 72855 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r72855 | antoine.pitrou | 2009-05-23 18:06:49 +0200 (sam., 23 mai 2009) | 3 lines
Some pid_t-expecting or producing functions were forgotten in r72852.
........
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/posixmodule.c | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 021b14f..f9439912 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -3816,7 +3816,7 @@ Return the current process id"); static PyObject * posix_getpid(PyObject *self, PyObject *noargs) { - return PyInt_FromLong((long)getpid()); + return PyLong_FromPid(getpid()); } @@ -3870,13 +3870,13 @@ Call the system call getpgid()."); static PyObject * posix_getpgid(PyObject *self, PyObject *args) { - int pid, pgid; - if (!PyArg_ParseTuple(args, "i:getpgid", &pid)) + pid_t pid, pgid; + if (!PyArg_ParseTuple(args, PARSE_PID ":getpgid", &pid)) return NULL; pgid = getpgid(pid); if (pgid < 0) return posix_error(); - return PyInt_FromLong((long)pgid); + return PyLong_FromPid(pgid); } #endif /* HAVE_GETPGID */ @@ -3890,9 +3890,9 @@ static PyObject * posix_getpgrp(PyObject *self, PyObject *noargs) { #ifdef GETPGRP_HAVE_ARG - return PyInt_FromLong((long)getpgrp(0)); + return PyLong_FromPid(getpgrp(0)); #else /* GETPGRP_HAVE_ARG */ - return PyInt_FromLong((long)getpgrp()); + return PyLong_FromPid(getpgrp()); #endif /* GETPGRP_HAVE_ARG */ } #endif /* HAVE_GETPGRP */ @@ -3926,7 +3926,7 @@ Return the parent's process id."); static PyObject * posix_getppid(PyObject *self, PyObject *noargs) { - return PyInt_FromLong(getppid()); + return PyLong_FromPid(getppid()); } #endif @@ -4015,8 +4015,13 @@ Kill a process group with a signal."); static PyObject * posix_killpg(PyObject *self, PyObject *args) { - int pgid, sig; - if (!PyArg_ParseTuple(args, "ii:killpg", &pgid, &sig)) + int sig; + pid_t pgid; + /* XXX some man pages make the `pgid` parameter an int, others + a pid_t. Since getpgrp() returns a pid_t, we assume killpg should + take the same type. Moreover, pid_t is always at least as wide as + int (else compilation of this module fails), which is safe. */ + if (!PyArg_ParseTuple(args, PARSE_PID "i:killpg", &pgid, &sig)) return NULL; if (killpg(pgid, sig) == -1) return posix_error(); @@ -6181,8 +6186,9 @@ Set the process group associated with the terminal given by a fd."); static PyObject * posix_tcsetpgrp(PyObject *self, PyObject *args) { - int fd, pgid; - if (!PyArg_ParseTuple(args, "ii:tcsetpgrp", &fd, &pgid)) + int fd; + pid_t pgid; + if (!PyArg_ParseTuple(args, "i" PARSE_PID ":tcsetpgrp", &fd, &pgid)) return NULL; if (tcsetpgrp(fd, pgid) < 0) return posix_error(); |