Skip to content

Commit

Permalink
Import code
Browse files Browse the repository at this point in the history
git-svn-id: http://procname.googlecode.com/svn/trunk@2 d33309c6-5b50-0410-86f5-dd2dbf440c40
  • Loading branch information
lisitsky committed Jun 24, 2008
1 parent 2db43d8 commit b31d65f
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 0 deletions.
13 changes: 13 additions & 0 deletions trunk/Makefile
@@ -0,0 +1,13 @@
PYTHON?=python
TESTFLAGS=-p -v
TESTOPTS=
SETUPFLAGS=
GCC=gcc
VER=2.5
DESTDIR=.

all: build

build:
$(GCC) -c -fpic procnamemodule.c -DHAVE_CONFIG_H -I/usr/include/python$(VER) -I/usr/lib/python$(VER)/config
$(GCC) -shared procnamemodule.o -o $(DESTDIR)/procname.so
45 changes: 45 additions & 0 deletions trunk/procnamemodule.c
@@ -0,0 +1,45 @@
#include <Python.h>
#include <sys/prctl.h>

PyDoc_STRVAR(procname__doc__, "Module for setting/getting process name");

static PyObject *
procname_check(PyObject *self, PyObject *args) { return Py_BuildValue("i", 1);
};


static PyObject *
procname_getprocname(PyObject *self, PyObject *args) { int argc;
char **argv;
Py_GetArgcArgv(&argc, &argv);
return Py_BuildValue("s", argv[0]);
};


static PyObject *
procname_setprocname(PyObject *self, PyObject *args) { int argc;
char **argv;
char *name;
if (!PyArg_ParseTuple(args, "s", &name))
return NULL;
Py_GetArgcArgv(&argc, &argv);
strncpy(argv[0], name , strlen(name));
memset(&argv[0][strlen(name)], '\0', strlen(&argv[0][strlen(name)]));
prctl (15 /* PR_SET_NAME */, name, 0, 0, 0);
Py_INCREF(Py_None);
return Py_None;
};


static PyMethodDef procname_methods[] = { {"check", procname_check, METH_VARARGS, "Test func"},
{"getprocname", procname_getprocname, METH_VARARGS,
"Get procname.\nReturns name (string)"},
{"setprocname", procname_setprocname, METH_VARARGS,
"Set procname.\n name (string) -> new process name.\nReturns None."},
{NULL, NULL, 0, NULL}
};

PyMODINIT_FUNC
initprocname(void) { (void) Py_InitModule3("procname", procname_methods, procname__doc__);
}

Expand Down

0 comments on commit b31d65f

Please sign in to comment.