[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
 }

AltStyle によって変換されたページ (->オリジナル) /