]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
return old value of PyMac_DoYieldEnabled; -1 means do not even check for interrupts
authorGuido van Rossum <guido@python.org>
Sun, 26 Feb 1995 10:20:53 +0000 (10:20 +0000)
committerGuido van Rossum <guido@python.org>
Sun, 26 Feb 1995 10:20:53 +0000 (10:20 +0000)
Mac/Modules/macosmodule.c
Mac/Python/macglue.c

index 177ddcd091dae3b7deb88783031635fd1d51e920..c5f14d6202c0a8558a7dfc0c5b15be8f62e837c7 100644 (file)
@@ -197,13 +197,13 @@ MacOS_SetScheduleTimes(PyObject *self, PyObject *args)
 static PyObject *
 MacOS_EnableAppswitch(PyObject *self, PyObject *args)
 {
-       int enable;
+       int old, new;
        
-       if (!PyArg_ParseTuple(args, "i", &enable))
+       if (!PyArg_ParseTuple(args, "i", &new))
                return NULL;
-       PyMac_DoYieldEnabled = enable;
-       Py_INCREF(Py_None);
-       return Py_None;
+       old = PyMac_DoYieldEnabled;
+       PyMac_DoYieldEnabled = new;
+       return Py_BuildValue("i", old);
 }
 
 
@@ -246,3 +246,4 @@ MacOS_Init()
        if (MacOS_Error == NULL || PyDict_SetItemString(d, "Error", MacOS_Error) != 0)
                Py_FatalError("can't define MacOS.Error");
 }
+
index 7135f3331a3391e327010c663703d9d71c29aa6b..e6767c8701998dfbee33f7f0c8e97062d06018b5 100644 (file)
@@ -115,7 +115,12 @@ static long yield_bg = 12;
 static long lastyield;
 static int in_foreground;
 
-int PyMac_DoYieldEnabled = 1;  /* Don't do eventloop when false */
+/* 
+** When > 0, do full scanning for events (program is not event aware)
+** when == 0, only scan for Command-period
+** when < 0, don't do any event scanning 
+*/
+int PyMac_DoYieldEnabled = 1;
 
 /* Convert C to Pascal string. Returns pointer to static buffer. */
 unsigned char *
@@ -238,6 +243,8 @@ scan_event_queue(flush)
 int
 PyOS_InterruptOccurred()
 {
+       if (PyMac_DoYieldEnabled < 0)
+               return 0;
 #ifdef THINK_C
        scan_event_queue(1);
 #endif
@@ -882,3 +889,4 @@ PyMac_InitApplication()
        }
        Py_Main(argc, argv);
 }
+