[Stackless-checkins] CVS: slpdev/src/2.3/src/Python modsupport.c, 1.1.1.3, 1.2 pythonrun.c, 1.15, 1.16

Christian Tismer tismer at centera.de
Thu Dec 15 17:13:49 CET 2005


Update of /home/cvs/slpdev/src/2.3/src/Python
In directory centera.de:/tmp/cvs-serv23941/src/2.3/src/Python

Modified Files:
	modsupport.c pythonrun.c 
Log Message:
adopting good changes/fixes from CCP

Index: modsupport.c
===================================================================
RCS file: /home/cvs/slpdev/src/2.3/src/Python/modsupport.c,v
retrieving revision 1.1.1.3
retrieving revision 1.2
diff -C2 -d -r1.1.1.3 -r1.2
*** modsupport.c	8 Jan 2004 22:09:52 -0000	1.1.1.3
--- modsupport.c	15 Dec 2005 16:13:46 -0000	1.2
***************
*** 76,85 ****
  						"module functions cannot set"
  						" METH_CLASS or METH_STATIC");
  				return NULL;
  			}
  			v = PyCFunction_NewEx(ml, passthrough, n);
! 			if (v == NULL)
  				return NULL;
  			if (PyDict_SetItemString(d, ml->ml_name, v) != 0) {
  				Py_DECREF(v);
  				return NULL;
--- 76,89 ----
  						"module functions cannot set"
  						" METH_CLASS or METH_STATIC");
+ 				Py_DECREF(n);
  				return NULL;
  			}
  			v = PyCFunction_NewEx(ml, passthrough, n);
! 			if (v == NULL) {
! 				Py_DECREF(n);
  				return NULL;
+ 			}
  			if (PyDict_SetItemString(d, ml->ml_name, v) != 0) {
+ 				Py_DECREF(n);
  				Py_DECREF(v);
  				return NULL;
***************
*** 87,90 ****
--- 91,95 ----
  			Py_DECREF(v);
  		}
+ 		Py_DECREF(n); //CCP fix, add those decrefs to n
  	}
  	if (doc != NULL) {

Index: pythonrun.c
===================================================================
RCS file: /home/cvs/slpdev/src/2.3/src/Python/pythonrun.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** pythonrun.c	5 Apr 2004 17:17:36 -0000	1.15
--- pythonrun.c	15 Dec 2005 16:13:46 -0000	1.16
***************
*** 1698,1701 ****
--- 1698,1705 ----
  #else
  	PyOS_sighandler_t handler;
+ #ifdef _WIN64 /* strict error handling on win64 */
+ 	if (!(sig == SIGABRT || sig == SIGFPE || sig == SIGILL || sig == SIGINT || sig == SIGSEGV || sig == SIGTERM))
+ 		return SIG_ERR;
+ #endif
  	handler = signal(sig, SIG_IGN);
  	signal(sig, handler);


_______________________________________________
Stackless-checkins mailing list
Stackless-checkins at stackless.com
http://www.stackless.com/mailman/listinfo/stackless-checkins



More information about the Stackless-checkins mailing list