- 20 Haz, 2005 1 kayıt (commit)
-
-
Michael W. Hudson yazdı
[ 1163563 ] Sub threads execute in restricted mode basically by fixing bug 1010677 in a non-broken way. Backport candidate.
-
- 16 Haz, 2005 1 kayıt (commit)
-
-
Michael W. Hudson yazdı
correspond to different interpreters (I hope, please revert if this is wrong :).
-
- 18 Nis, 2005 1 kayıt (commit)
-
-
Michael W. Hudson yazdı
[ 1176893 ] Readline segfault by unsilly-ing PyGILState_Release(). Backport candidate.
-
- 08 Şub, 2005 1 kayıt (commit)
-
-
Guido van Rossum yazdı
-
- 08 Kas, 2004 1 kayıt (commit)
-
-
Tim Peters yazdı
PyGILState_Ensure(): The fix in 2.4a3 for bug 1010677 reintroduced thread shutdown race bug 225673. Repaired by (once again) ensuring the GIL is held whenever deleting a thread state. Alas, there's no useful test case for this shy bug. Four years ago, only Guido could provoke it, on his box, and today only Armin can provoke it on his box. I've never been able to provoke it (but not for lack of trying!). This is a critical fix for 2.3.5 too, since the fix for 1010677 got backported there already and so also reintroduced 225673. I don't intend to backport this fix. For whoever (if anyone) does, there are other thread fixes in 2.4 that need backporting too, and I bet they need to happen first for this patch to apply cleanly.
-
- 10 Eki, 2004 2 kayıt (commit)
-
-
Tim Peters yazdı
thread's id can't get duplicated, because (of course!) the current thread is still running. The code should work either way, but reverting the gratuitous change should make backporting easier, and gets the bad reasoning out of 2.35's new comments.
-
Tim Peters yazdı
This appears to finish repairs for SF bug 1041645. This is a critical bugfix.
-
- 09 Eki, 2004 4 kayıt (commit)
-
-
Tim Peters yazdı
that must be done under protection of the GIL, for reasons explained in new comments.
-
Tim Peters yazdı
can fail, check its return value, and die if it does fail. _PyGILState_Init(): Assert that the thread doesn't already have an association for autoTLSkey. If it does, PyThread_set_key_value() will ignore the attempt to (re)set the association, which the code clearly doesn't want.
-
Tim Peters yazdı
-
Tim Peters yazdı
-
- 08 Haz, 2004 1 kayıt (commit)
-
-
Martin v. Löwis yazdı
-
- 24 Mar, 2004 1 kayıt (commit)
-
-
Nicholas Bastin yazdı
-
- 13 Tem, 2003 1 kayıt (commit)
-
-
Martin v. Löwis yazdı
-
- 28 Haz, 2003 1 kayıt (commit)
-
-
Guido van Rossum yazdı
A new API (only accessible from C) to interrupt a thread by sending it an exception. This is not always effective, but might help some people. Requested by Just van Rossum and Alex Martelli. It is intentional that you have to write your own C extension to call it from Python. Docs will have to wait.
-
- 01 May, 2003 1 kayıt (commit)
-
-
Martin v. Löwis yazdı
-
- 19 Nis, 2003 1 kayıt (commit)
-
-
Mark Hammond yazdı
-
- 15 Nis, 2003 1 kayıt (commit)
-
-
Guido van Rossum yazdı
even farther down, to just before the call to _PyObject_DebugMallocStats(). This required the following changes: - pystate.c, PyThreadState_GetDict(): changed not to raise an exception or issue a fatal error when no current thread state is available, but simply return NULL without raising an exception (ever). - object.c, Py_ReprEnter(): when PyThreadState_GetDict() returns NULL, don't raise an exception but return 0. This means that when printing a container that's recursive, printing will go on and on and on. But that shouldn't happen in the case we care about (see first bullet). - Updated Misc/NEWS and Doc/api/init.tex to reflect changes to PyThreadState_GetDict() definition.
-
- 19 Mar, 2003 1 kayıt (commit)
-
-
Gustavo Niemeyer yazdı
variables to store internal data. As a result, any atempts to use the unicode system with multiple active interpreters, or successive interpreter executions, would fail. Now that information is stored into members of the PyInterpreterState structure.
-
- 19 Şub, 2003 1 kayıt (commit)
-
-
Guido van Rossum yazdı
instead of a plain PyObject *. (SF patch #686601 by Ben Laurie.)
-
- 08 Kas, 2002 1 kayıt (commit)
-
-
Michael W. Hudson yazdı
[ 617309 ] getframe hook (Psyco #1) [ 617311 ] Tiny profiling info (Psyco #2) [ 617312 ] debugger-controlled jumps (Psyco #3) These are forward ports from 2.2.2.
-
- 03 Eyl, 2002 1 kayıt (commit)
-
-
- 19 Tem, 2001 1 kayıt (commit)
-
-
Guido van Rossum yazdı
SF patch #436376.
-
- 18 Tem, 2001 1 kayıt (commit)
-
-
Martin v. Löwis yazdı
Add dlopenflags to PyInterpreterState, and use it in dlopen calls.
-
- 03 Tem, 2001 1 kayıt (commit)
-
-
Fred Drake yazdı
path (with no profile/trace function) through eval_code2() and eval_frame() avoids several checks. In the common cases of calls, returns, and exception propogation, eval_code2() and eval_frame() used to test two values in the thread-state: the profiling function and the tracing function. With this change, a flag is set in the thread-state if either of these is active, allowing a single check to suffice when both are NULL. This also simplifies the code needed when either function is in use but is already active (to avoid profiling/tracing the profiler/tracer); the flag is set to 0 when the profile/trace code is entered, allowing the same check to suffice for "already in the tracer" for call/return/ exception events.
-
- 27 Haz, 2001 1 kayıt (commit)
-
-
Fred Drake yazdı
Python interpreter. This change adds two new C-level APIs: PyEval_SetProfile() and PyEval_SetTrace(). These can be used to install profile and trace functions implemented in C, which can operate at much higher speeds than Python-based functions. The overhead for calling a C-based profile function is a very small fraction of a percent of the overhead involved in calling a Python-based function. The machinery required to call a Python-based profile or trace function been moved to sysmodule.c, where sys.setprofile() and sys.setprofile() simply become users of the new interface. As a side effect, SF bug #436058 is fixed; there is no longer a _PyTrace_Init() function to declare.
-
- 23 Ock, 2001 1 kayıt (commit)
-
-
Guido van Rossum yazdı
PyThreadState_Delete() and PyEval_ReleaseLock(). It is only defined if WITH_THREAD is defined.
-
- 02 Eyl, 2000 1 kayıt (commit)
-
-
Tim Peters yazdı
can cause it to get called by multiple threads simultaneously. Ditto for PyInterpreterState_Delete. Of the former, the docs say "The interpreter lock need not be held, but may be held if it is necessary to serialize calls to this function". This kinda implies it both is and isn't thread-safe. Of the latter, the docs merely say "The interpreter lock need not be held.", and the clause about serializing is absent. I expect it was *believed* these are both thread-safe, and the bit about serializing via the global lock was meant as a permission rather than a caution. I also expect we've never seen a problem here because the Python core (prior to the _PyPclose fix) only calls these functions once per run. The Py_NewInterpreter subsystem exposed by the C API (but not used by Python itself) also calls them, but that subsystem appears to be very rarely used. Whatever, they're both thread-safe now.
-
- 01 Eyl, 2000 1 kayıt (commit)
-
-
Guido van Rossum yazdı
This should match the situation in the 1.6b1 tree.
-
- 04 Agu, 2000 1 kayıt (commit)
-
-
Moshe Zadka yazdı
-
- 22 Tem, 2000 1 kayıt (commit)
-
-
Thomas Wouters yazdı
declarations yet, those come later.
-
- 30 Haz, 2000 2 kayıt (commit)
-
-
Guido van Rossum yazdı
-
Guido van Rossum yazdı
-
- 18 Haz, 1999 1 kayıt (commit)
-
-
Guido van Rossum yazdı
We occasionally received reports from people getting "invalid tstate" crashes (this is a fatal error in PyThreadState_Delete()). Finally several people were able to reproduce it reliably and Tim Peters discovered that there is a race condition when multiple threads are calling this function without holding the global interpreter lock (the function may be called without holding that). Solved the race condition by adding a lock around the mutating uses of interp->tstate_head. Tim and Jonathan Giddy have run tests that make it likely that this fixes the crashes -- although Tim hasn't heard from the person who reported the original problem.
-
- 21 Ara, 1998 1 kayıt (commit)
-
-
Guido van Rossum yazdı
support a macro in pystate.h.
-
- 10 Nis, 1998 1 kayıt (commit)
-
-
Guido van Rossum yazdı
PyThreadState_GetDict() returns a dictionary that can be used to hold such state; the caller should pick a unique key and store its state there. If PyThreadState_GetDict() returns NULL, an exception has been raised (most likely MemoryError) and the caller should pass on the exception. */ PyObject * PyThreadState_GetDict()
-
- 03 Kas, 1997 1 kayıt (commit)
-
-
Guido van Rossum yazdı
verbose mode.
-
- 21 Agu, 1997 1 kayıt (commit)
-
-
Guido van Rossum yazdı
-
- 02 Agu, 1997 1 kayıt (commit)
-
-
Guido van Rossum yazdı
Everything should now work again. See the comments for the .h files mass checkin (e.g. pystate.h) for more detail.
-
- 19 Tem, 1997 1 kayıt (commit)
-
-
Guido van Rossum yazdı
-