123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- /*[clinic input]
- preserve
- [clinic start generated code]*/
- #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE)
- # include "pycore_gc.h" // PyGC_Head
- # include "pycore_runtime.h" // _Py_ID()
- #endif
- #if defined(HAVE_GETRUSAGE)
- PyDoc_STRVAR(resource_getrusage__doc__,
- "getrusage($module, who, /)\n"
- "--\n"
- "\n");
- #define RESOURCE_GETRUSAGE_METHODDEF \
- {"getrusage", (PyCFunction)resource_getrusage, METH_O, resource_getrusage__doc__},
- static PyObject *
- resource_getrusage_impl(PyObject *module, int who);
- static PyObject *
- resource_getrusage(PyObject *module, PyObject *arg)
- {
- PyObject *return_value = NULL;
- int who;
- who = _PyLong_AsInt(arg);
- if (who == -1 && PyErr_Occurred()) {
- goto exit;
- }
- return_value = resource_getrusage_impl(module, who);
- exit:
- return return_value;
- }
- #endif /* defined(HAVE_GETRUSAGE) */
- PyDoc_STRVAR(resource_getrlimit__doc__,
- "getrlimit($module, resource, /)\n"
- "--\n"
- "\n");
- #define RESOURCE_GETRLIMIT_METHODDEF \
- {"getrlimit", (PyCFunction)resource_getrlimit, METH_O, resource_getrlimit__doc__},
- static PyObject *
- resource_getrlimit_impl(PyObject *module, int resource);
- static PyObject *
- resource_getrlimit(PyObject *module, PyObject *arg)
- {
- PyObject *return_value = NULL;
- int resource;
- resource = _PyLong_AsInt(arg);
- if (resource == -1 && PyErr_Occurred()) {
- goto exit;
- }
- return_value = resource_getrlimit_impl(module, resource);
- exit:
- return return_value;
- }
- PyDoc_STRVAR(resource_setrlimit__doc__,
- "setrlimit($module, resource, limits, /)\n"
- "--\n"
- "\n");
- #define RESOURCE_SETRLIMIT_METHODDEF \
- {"setrlimit", _PyCFunction_CAST(resource_setrlimit), METH_FASTCALL, resource_setrlimit__doc__},
- static PyObject *
- resource_setrlimit_impl(PyObject *module, int resource, PyObject *limits);
- static PyObject *
- resource_setrlimit(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
- {
- PyObject *return_value = NULL;
- int resource;
- PyObject *limits;
- if (!_PyArg_CheckPositional("setrlimit", nargs, 2, 2)) {
- goto exit;
- }
- resource = _PyLong_AsInt(args[0]);
- if (resource == -1 && PyErr_Occurred()) {
- goto exit;
- }
- limits = args[1];
- return_value = resource_setrlimit_impl(module, resource, limits);
- exit:
- return return_value;
- }
- #if defined(HAVE_PRLIMIT)
- PyDoc_STRVAR(resource_prlimit__doc__,
- "prlimit($module, pid, resource, limits=None, /)\n"
- "--\n"
- "\n");
- #define RESOURCE_PRLIMIT_METHODDEF \
- {"prlimit", _PyCFunction_CAST(resource_prlimit), METH_FASTCALL, resource_prlimit__doc__},
- static PyObject *
- resource_prlimit_impl(PyObject *module, pid_t pid, int resource,
- PyObject *limits);
- static PyObject *
- resource_prlimit(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
- {
- PyObject *return_value = NULL;
- pid_t pid;
- int resource;
- PyObject *limits = Py_None;
- if (!_PyArg_CheckPositional("prlimit", nargs, 2, 3)) {
- goto exit;
- }
- pid = PyLong_AsPid(args[0]);
- if (pid == -1 && PyErr_Occurred()) {
- goto exit;
- }
- resource = _PyLong_AsInt(args[1]);
- if (resource == -1 && PyErr_Occurred()) {
- goto exit;
- }
- if (nargs < 3) {
- goto skip_optional;
- }
- limits = args[2];
- skip_optional:
- return_value = resource_prlimit_impl(module, pid, resource, limits);
- exit:
- return return_value;
- }
- #endif /* defined(HAVE_PRLIMIT) */
- PyDoc_STRVAR(resource_getpagesize__doc__,
- "getpagesize($module, /)\n"
- "--\n"
- "\n");
- #define RESOURCE_GETPAGESIZE_METHODDEF \
- {"getpagesize", (PyCFunction)resource_getpagesize, METH_NOARGS, resource_getpagesize__doc__},
- static int
- resource_getpagesize_impl(PyObject *module);
- static PyObject *
- resource_getpagesize(PyObject *module, PyObject *Py_UNUSED(ignored))
- {
- PyObject *return_value = NULL;
- int _return_value;
- _return_value = resource_getpagesize_impl(module);
- if ((_return_value == -1) && PyErr_Occurred()) {
- goto exit;
- }
- return_value = PyLong_FromLong((long)_return_value);
- exit:
- return return_value;
- }
- #ifndef RESOURCE_GETRUSAGE_METHODDEF
- #define RESOURCE_GETRUSAGE_METHODDEF
- #endif /* !defined(RESOURCE_GETRUSAGE_METHODDEF) */
- #ifndef RESOURCE_PRLIMIT_METHODDEF
- #define RESOURCE_PRLIMIT_METHODDEF
- #endif /* !defined(RESOURCE_PRLIMIT_METHODDEF) */
- /*[clinic end generated code: output=2fbec74335a57230 input=a9049054013a1b77]*/
|