[Python-checkins] CVS: python/dist/src/Modules resource.c,2.21,2.22
Fred L. Drake
fdrake@users.sourceforge.net
2002年2月13日 22:59:29 -0800
Update of /cvsroot/python/python/dist/src/Modules
In directory usw-pr-cvs1:/tmp/cvs-serv18897/Modules
Modified Files:
resource.c
Log Message:
Use PyModule_AddIntConstant() instead of creating a private helper function.
This also avoids directly accessing the module'd __dict__.
Index: resource.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Modules/resource.c,v
retrieving revision 2.21
retrieving revision 2.22
diff -C2 -d -r2.21 -r2.22
*** resource.c 17 Jan 2002 23:15:58 -0000 2.21
--- resource.c 14 Feb 2002 06:59:26 -0000 2.22
***************
*** 158,176 ****
/* Module initialization */
- static void
- ins(PyObject *dict, char *name, int value)
- {
- PyObject *v = PyInt_FromLong((long) value);
- if (v) {
- PyDict_SetItemString(dict, name, v);
- Py_DECREF(v);
- }
- /* errors will be checked by initresource() */
- }
-
DL_EXPORT(void)
initresource(void)
{
! PyObject *m, *d;
/* Create the module and add the functions */
--- 158,165 ----
/* Module initialization */
DL_EXPORT(void)
initresource(void)
{
! PyObject *m;
/* Create the module and add the functions */
***************
*** 178,244 ****
/* Add some symbolic constants to the module */
! d = PyModule_GetDict(m);
! ResourceError = PyErr_NewException("resource.error", NULL, NULL);
! PyDict_SetItemString(d, "error", ResourceError);
/* insert constants */
#ifdef RLIMIT_CPU
! ins(d, "RLIMIT_CPU", RLIMIT_CPU);
#endif
#ifdef RLIMIT_FSIZE
! ins(d, "RLIMIT_FSIZE", RLIMIT_FSIZE);
#endif
#ifdef RLIMIT_DATA
! ins(d, "RLIMIT_DATA", RLIMIT_DATA);
#endif
#ifdef RLIMIT_STACK
! ins(d, "RLIMIT_STACK", RLIMIT_STACK);
#endif
#ifdef RLIMIT_CORE
! ins(d, "RLIMIT_CORE", RLIMIT_CORE);
#endif
#ifdef RLIMIT_NOFILE
! ins(d, "RLIMIT_NOFILE", RLIMIT_NOFILE);
#endif
#ifdef RLIMIT_OFILE
! ins(d, "RLIMIT_OFILE", RLIMIT_OFILE);
#endif
#ifdef RLIMIT_VMEM
! ins(d, "RLIMIT_VMEM", RLIMIT_VMEM);
#endif
#ifdef RLIMIT_AS
! ins(d, "RLIMIT_AS", RLIMIT_AS);
#endif
#ifdef RLIMIT_RSS
! ins(d, "RLIMIT_RSS", RLIMIT_RSS);
#endif
#ifdef RLIMIT_NPROC
! ins(d, "RLIMIT_NPROC", RLIMIT_NPROC);
#endif
#ifdef RLIMIT_MEMLOCK
! ins(d, "RLIMIT_MEMLOCK", RLIMIT_MEMLOCK);
#endif
#ifdef RUSAGE_SELF
! ins(d, "RUSAGE_SELF", RUSAGE_SELF);
#endif
#ifdef RUSAGE_CHILDREN
! ins(d, "RUSAGE_CHILDREN", RUSAGE_CHILDREN);
#endif
#ifdef RUSAGE_BOTH
! ins(d, "RUSAGE_BOTH", RUSAGE_BOTH);
#endif
}
--- 167,236 ----
/* Add some symbolic constants to the module */
! if (ResourceError == NULL) {
! ResourceError = PyErr_NewException("resource.error",
! NULL, NULL);
! }
! Py_INCREF(ResourceError);
! PyModule_AddObject(m, "error", ResourceError);
/* insert constants */
#ifdef RLIMIT_CPU
! PyModule_AddIntConstant(m, "RLIMIT_CPU", RLIMIT_CPU);
#endif
#ifdef RLIMIT_FSIZE
! PyModule_AddIntConstant(m, "RLIMIT_FSIZE", RLIMIT_FSIZE);
#endif
#ifdef RLIMIT_DATA
! PyModule_AddIntConstant(m, "RLIMIT_DATA", RLIMIT_DATA);
#endif
#ifdef RLIMIT_STACK
! PyModule_AddIntConstant(m, "RLIMIT_STACK", RLIMIT_STACK);
#endif
#ifdef RLIMIT_CORE
! PyModule_AddIntConstant(m, "RLIMIT_CORE", RLIMIT_CORE);
#endif
#ifdef RLIMIT_NOFILE
! PyModule_AddIntConstant(m, "RLIMIT_NOFILE", RLIMIT_NOFILE);
#endif
#ifdef RLIMIT_OFILE
! PyModule_AddIntConstant(m, "RLIMIT_OFILE", RLIMIT_OFILE);
#endif
#ifdef RLIMIT_VMEM
! PyModule_AddIntConstant(m, "RLIMIT_VMEM", RLIMIT_VMEM);
#endif
#ifdef RLIMIT_AS
! PyModule_AddIntConstant(m, "RLIMIT_AS", RLIMIT_AS);
#endif
#ifdef RLIMIT_RSS
! PyModule_AddIntConstant(m, "RLIMIT_RSS", RLIMIT_RSS);
#endif
#ifdef RLIMIT_NPROC
! PyModule_AddIntConstant(m, "RLIMIT_NPROC", RLIMIT_NPROC);
#endif
#ifdef RLIMIT_MEMLOCK
! PyModule_AddIntConstant(m, "RLIMIT_MEMLOCK", RLIMIT_MEMLOCK);
#endif
#ifdef RUSAGE_SELF
! PyModule_AddIntConstant(m, "RUSAGE_SELF", RUSAGE_SELF);
#endif
#ifdef RUSAGE_CHILDREN
! PyModule_AddIntConstant(m, "RUSAGE_CHILDREN", RUSAGE_CHILDREN);
#endif
#ifdef RUSAGE_BOTH
! PyModule_AddIntConstant(m, "RUSAGE_BOTH", RUSAGE_BOTH);
#endif
}