Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1762)

Unified Diff: third_party/psutil/psutil/_psutil_linux.c

Issue 8919026: Remove psutil from tree, install via install-build-deps.sh (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Sort package list. Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/psutil/psutil/_psutil_linux.h ('k') | third_party/psutil/psutil/_psutil_mswindows.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/psutil/psutil/_psutil_linux.c
diff --git a/third_party/psutil/psutil/_psutil_linux.c b/third_party/psutil/psutil/_psutil_linux.c
deleted file mode 100644
index 6915c0c81e4fac43ec4f9db7b8d48ebe9bd2a36f..0000000000000000000000000000000000000000
--- a/third_party/psutil/psutil/_psutil_linux.c
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * $Id: _psutil_linux.c 1142 2011-10-05 18:45:49Z g.rodola $
- *
- * Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- *
- * Linux-specific functions.
- */
-
-#include <Python.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <mntent.h>
-#include <sys/syscall.h>
-#include <linux/unistd.h>
-
-#include "_psutil_linux.h"
-
-
-#define HAS_IOPRIO defined(__NR_ioprio_get) && defined(__NR_ioprio_set)
-
-#if HAS_IOPRIO
-enum {
- IOPRIO_WHO_PROCESS = 1,
-};
-
-static inline int
-ioprio_get(int which, int who)
-{
- return syscall(__NR_ioprio_get, which, who);
-}
-
-static inline int
-ioprio_set(int which, int who, int ioprio)
-{
- return syscall(__NR_ioprio_set, which, who, ioprio);
-}
-
-#define IOPRIO_CLASS_SHIFT 13
-#define IOPRIO_PRIO_MASK ((1UL << IOPRIO_CLASS_SHIFT) - 1)
-
-#define IOPRIO_PRIO_CLASS(mask) ((mask) >> IOPRIO_CLASS_SHIFT)
-#define IOPRIO_PRIO_DATA(mask) ((mask) & IOPRIO_PRIO_MASK)
-#define IOPRIO_PRIO_VALUE(class, data) (((class) << IOPRIO_CLASS_SHIFT) | data)
-
-
-/*
- * Return a (ioclass, iodata) Python tuple representing process I/O priority.
- */
-static PyObject*
-linux_ioprio_get(PyObject* self, PyObject* args)
-{
- long pid;
- int ioprio, ioclass, iodata;
- if (! PyArg_ParseTuple(args, "l", &pid)) {
- return NULL;
- }
- ioprio = ioprio_get(IOPRIO_WHO_PROCESS, pid);
- if (ioprio == -1) {
- return PyErr_SetFromErrno(PyExc_OSError);
- }
- ioclass = IOPRIO_PRIO_CLASS(ioprio);
- iodata = IOPRIO_PRIO_DATA(ioprio);
- return Py_BuildValue("ii", ioclass, iodata);
-}
-
-
-/*
- * A wrapper around ioprio_set(); sets process I/O priority.
- * ioclass can be either IOPRIO_CLASS_RT, IOPRIO_CLASS_BE, IOPRIO_CLASS_IDLE
- * or 0. iodata goes from 0 to 7 depending on ioclass specified.
- */
-static PyObject*
-linux_ioprio_set(PyObject* self, PyObject* args)
-{
- long pid;
- int ioprio, ioclass, iodata;
- int retval;
-
- if (! PyArg_ParseTuple(args, "lii", &pid, &ioclass, &iodata)) {
- return NULL;
- }
- ioprio = IOPRIO_PRIO_VALUE(ioclass, iodata);
- retval = ioprio_set(IOPRIO_WHO_PROCESS, pid, ioprio);
- if (retval == -1) {
- return PyErr_SetFromErrno(PyExc_OSError);
- }
- Py_INCREF(Py_None);
- return Py_None;
-}
-#endif
-
-
-/*
- * Return disk mounted partitions as a list of tuples including device,
- * mount point and filesystem type
- */
-static PyObject*
-get_disk_partitions(PyObject* self, PyObject* args)
-{
- FILE *file;
- struct mntent *entry;
- PyObject* py_retlist = PyList_New(0);
- PyObject* py_tuple;
-
- // MOUNTED constant comes from mntent.h and it's == '/etc/mtab'
- Py_BEGIN_ALLOW_THREADS
- file = setmntent(MOUNTED, "r");
- Py_END_ALLOW_THREADS
- if ((file == 0) || (file == NULL)) {
- return PyErr_SetFromErrno(PyExc_OSError);
- }
-
- while ((entry = getmntent(file))) {
- if (entry == NULL) {
- endmntent(file);
- return PyErr_Format(PyExc_RuntimeError, "getmntent() failed");
- }
- py_tuple = Py_BuildValue("(sss)", entry->mnt_fsname, // device
- entry->mnt_dir, // mount point
- entry->mnt_type); // fs type
- PyList_Append(py_retlist, py_tuple);
- Py_XDECREF(py_tuple);
- }
-
- endmntent(file);
- return py_retlist;
-}
-
-
-/*
- * Define the psutil C module methods and initialize the module.
- */
-static PyMethodDef
-PsutilMethods[] =
-{
-#if HAS_IOPRIO
- {"ioprio_get", linux_ioprio_get, METH_VARARGS,
- "Get process I/O priority"},
- {"ioprio_set", linux_ioprio_set, METH_VARARGS,
- "Set process I/O priority"},
-#endif
- {"get_disk_partitions", get_disk_partitions, METH_VARARGS,
- "Return disk mounted partitions as a list of tuples including "
- "device, mount point and filesystem type"},
-
- {NULL, NULL, 0, NULL}
-};
-
-struct module_state {
- PyObject *error;
-};
-
-#if PY_MAJOR_VERSION >= 3
-#define GETSTATE(m) ((struct module_state*)PyModule_GetState(m))
-#else
-#define GETSTATE(m) (&_state)
-#endif
-
-#if PY_MAJOR_VERSION >= 3
-
-static int
-psutil_linux_traverse(PyObject *m, visitproc visit, void *arg) {
- Py_VISIT(GETSTATE(m)->error);
- return 0;
-}
-
-static int
-psutil_linux_clear(PyObject *m) {
- Py_CLEAR(GETSTATE(m)->error);
- return 0;
-}
-
-static struct PyModuleDef
-moduledef = {
- PyModuleDef_HEAD_INIT,
- "psutil_linux",
- NULL,
- sizeof(struct module_state),
- PsutilMethods,
- NULL,
- psutil_linux_traverse,
- psutil_linux_clear,
- NULL
-};
-
-#define INITERROR return NULL
-
-PyObject *
-PyInit__psutil_linux(void)
-
-#else
-#define INITERROR return
-
-void init_psutil_linux(void)
-#endif
-{
-#if PY_MAJOR_VERSION >= 3
- PyObject *module = PyModule_Create(&moduledef);
-#else
- PyObject *module = Py_InitModule("_psutil_linux", PsutilMethods);
-#endif
- if (module == NULL) {
- INITERROR;
- }
-#if PY_MAJOR_VERSION >= 3
- return module;
-#endif
-}
-
« no previous file with comments | « third_party/psutil/psutil/_psutil_linux.h ('k') | third_party/psutil/psutil/_psutil_mswindows.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698