summaryrefslogtreecommitdiff
path: root/psutil/_psutil_linux.c
diff options
context:
space:
mode:
authorGiampaolo Rodola <g.rodola@gmail.com>2016-09-22 21:37:05 +0200
committerGiampaolo Rodola <g.rodola@gmail.com>2016-09-22 21:37:05 +0200
commita5beb29488fe75c858d30a00044cbd29d3ed3d8b (patch)
treee905f1008ca54f8be2be85fd659cc0b9a52c9379 /psutil/_psutil_linux.c
parente2f9dcb907ad74e4624395615544b9d37ea971ff (diff)
downloadpsutil-a5beb29488fe75c858d30a00044cbd29d3ed3d8b.tar.gz
issue #892: [Linux] Process.cpu_affinity([-1]) raise SystemError with no error set; now ValueError is raised.
Diffstat (limited to 'psutil/_psutil_linux.c')
-rw-r--r--psutil/_psutil_linux.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/psutil/_psutil_linux.c b/psutil/_psutil_linux.c
index 5f6b6616..e6c43518 100644
--- a/psutil/_psutil_linux.c
+++ b/psutil/_psutil_linux.c
@@ -402,11 +402,15 @@ psutil_proc_cpu_affinity_set(PyObject *self, PyObject *args) {
#else
long value = PyInt_AsLong(item);
#endif
- if (value == -1 || PyErr_Occurred())
+ if ((value == -1) || PyErr_Occurred()) {
+ if (!PyErr_Occurred())
+ PyErr_SetString(PyExc_ValueError, "invalid CPU value");
goto error;
+ }
CPU_SET(value, &cpu_set);
}
+
len = sizeof(cpu_set);
if (sched_setaffinity(pid, len, &cpu_set)) {
PyErr_SetFromErrno(PyExc_OSError);