Commit Graph

5820 Commits

Author SHA1 Message Date
Victor Stinner da9edae1f4 Issue #11753: faulthandler thread uses pthread_sigmask()
The thread must not receive any signal. If the thread receives a signal,
sem_timedwait() is interrupted and returns EINTR, but in this case,
PyThread_acquire_lock_timed() retries sem_timedwait() and the main thread is
not aware of the signal. The problem is that some tests expect that the main
thread receives the signal, not faulthandler handler, which should be
invisible.

On Linux, the signal looks to be received by the main thread, whereas on
FreeBSD, it can be any thread.
2011-04-04 11:05:21 +02:00
Antoine Pitrou 5bfa0622ec Issue #11688: Add sqlite3.Connection.set_trace_callback(). Patch by Torsten Landschoff. 2011-04-04 00:12:04 +02:00
Antoine Pitrou a7caec74aa Merge fix for issue #11746 2011-04-03 18:16:50 +02:00
Antoine Pitrou 9c25486093 Issue #11746: Fix SSLContext.load_cert_chain() to accept elliptic curve private keys. 2011-04-03 18:15:34 +02:00
Antoine Pitrou 37dc5f85b8 Issue #5863: Rewrite BZ2File in pure Python, and allow it to accept
file-like objects using a new `fileobj` constructor argument.  Patch by
Nadeem Vawda.
2011-04-03 17:05:46 +02:00
Victor Stinner 44378d46f6 Issue #11393: signal of user signal displays tracebacks even if tstate==NULL
* faulthandler_user() displays the tracebacks of all threads even if it is
   unable to get the state of the current thread
 * test_faulthandler: only release the GIL in test_gil_released() check
 * create check_signum() subfunction
2011-04-01 15:37:12 +02:00
Victor Stinner a01ca12a52 Issue #11393: Fix faulthandler.disable() and add a test 2011-04-01 12:56:17 +02:00
Victor Stinner d727e23243 Issue #11393: The fault handler handles also SIGABRT 2011-04-01 12:13:55 +02:00
Victor Stinner bc6a4db66d Issue #11393: fault handler uses raise(signum) for SIGILL on Windows 2011-04-01 12:08:57 +02:00
Victor Stinner f309134eff Issue #11393: fix usage of locks in faulthandler
* faulthandler_cancel_dump_tracebacks_later() is responsible to set running
   to zero (so we don't need the volatile keyword anymore)
 * release locks if PyThread_start_new_thread() fails

assert(thread.running == 0) was wrong in a corner case
2011-04-01 03:16:51 +02:00
Victor Stinner a4d4f1b4cb Issue #11393: New try to fix faulthandler_thread()
Always release the cancel join.

Fix also another corner case: _PyFaulthandler_Fini() called after setting
running variable to zero, but before releasing the join lock.
2011-04-01 03:00:05 +02:00
Victor Stinner 1c76b7f5e5 Issue #11393: Fix faulthandler_thread(): release cancel lock before join lock
If the thread releases the join lock before the cancel lock, the thread may
sometimes still be alive at cancel_dump_tracebacks_later() exit. So the cancel
lock may be destroyed while the thread is still alive, whereas the thread will
try to release the cancel lock, which just crash.

Another minor fix: the thread doesn't release the cancel lock if it didn't
acquire it.
2011-04-01 02:28:22 +02:00
Victor Stinner f048075079 Issue #11393: limit stack overflow test to 100 MB
Stop if the stack overflow doesn't occur after allocating 100 MB on the stack.
2011-03-31 11:34:08 +02:00
Victor Stinner 702624ecf7 Issue #11393: Fix the documentation (cancel_dump_traceback_later)
* dump_traceback_later() => dump_tracebacks_later()
 * cancel_dump_traceback_later() => cancel_dump_tracebacks_later()
2011-03-31 03:42:34 +02:00
Victor Stinner 024e37adcc Issue #11393: Add the new faulthandler module 2011-03-31 01:31:06 +02:00
Kristjan Valur Jonsson 8c5b748026 Merge 2011-03-30 11:55:52 +00:00
Kristjan Valur Jonsson 3c136e19b9 Merge 2011-03-30 11:39:24 +00:00
Kristjan Valur Jonsson 978da33c7a Merge 3.2 2011-03-30 11:32:06 +00:00
Kristjan Valur Jonsson fa3edbed25 Merge 3.1 2011-03-30 11:24:58 +00:00
Kristjan Valur Jonsson 35722a9376 Bugfix: Properly test for errors from PyLong_AsLong() in itertools.cycle.
ti can raise an exception even if PyLong_Check() has
succeeded.
2011-03-30 11:04:28 +00:00
Raymond Hettinger 010a948489 Issue 11713: clarify docstring for collections.deque() 2011-03-29 17:38:15 -07:00
Raymond Hettinger 4974705a02 Issue 11713: clarify docstring for collections.deque() 2011-03-29 17:36:31 -07:00
Benjamin Peterson fe55783505 merge 3.2 2011-03-28 17:26:04 -05:00
Benjamin Peterson 3077404de4 merge 3.1 2011-03-28 17:25:50 -05:00
Benjamin Peterson ad45bfe2d3 let's keep parenthesis around sizeof 2011-03-28 17:25:15 -05:00
Raymond Hettinger 5bf7091df0 Update docstrings for itertools.accumulate(). 2011-03-27 18:59:51 -07:00
Raymond Hettinger 5d44613e3b Add optional *func* argument to itertools.accumulate(). 2011-03-27 18:52:10 -07:00
Benjamin Peterson eb2389be0e merge 3.2 2011-03-26 18:18:09 -05:00
Benjamin Peterson 1a07f07337 merge 3.1 2011-03-26 18:17:05 -05:00
Benjamin Peterson 39530f8cbe always check return value of PyObject_IsInstance for error 2011-03-26 18:04:09 -05:00
Benjamin Peterson 8d6c62dd89 check possible recursive _as_parameter_ to prevent segfault (closes #1838) 2011-03-26 17:56:28 -05:00
Victor Stinner 6ced7c4333 Issue #10833: Use PyErr_Format() and PyUnicode_FromFormat() instead of
PyOS_snprintf() to avoid temporary buffer allocated on the stack and a
conversion from bytes to Unicode.
2011-03-21 18:15:42 +01:00
Victor Stinner 499dfcf29d Issue #10833: Use PyUnicode_FromFormat() and PyErr_Format() instead of
PyOS_snprintf().
2011-03-21 13:26:24 +01:00
Victor Stinner bfc7bf06a6 _elementtree.c: remove trailing spaces 2011-03-21 13:23:42 +01:00
Victor Stinner 161fbeae72 merge 3.2 2011-03-21 02:15:18 +01:00
Victor Stinner 6f0e4f99ab time.strftime(): replace PyErr_Format() by PyErr_SetString()
The argument was not used in the format string.
2011-03-21 02:14:53 +01:00
Victor Stinner b938bcd211 (merge) Issue #11395: io.FileIO().write() clamps the data length to 32,767
bytes on Windows if the file is a TTY to workaround a Windows bug. The Windows
console returns an error (12: not enough space error) on writing into stdout if
stdout mode is binary and the length is greater than 66,000 bytes (or less,
depending on heap usage).
2011-03-20 23:37:55 +01:00
Victor Stinner e0daff1c61 Issue #11395: io.FileIO().write() clamps the data length to 32,767 bytes on
Windows if the file is a TTY to workaround a Windows bug. The Windows console
returns an error (12: not enough space error) on writing into stdout if
stdout mode is binary and the length is greater than 66,000 bytes (or less,
depending on heap usage).
2011-03-20 23:36:35 +01:00
Antoine Pitrou bb6eb857cf Issue #10914: fix bogus memory management in Modules/getpath.c, leading to a possible crash when calling Py_SetPath() 2011-03-17 23:34:33 +01:00
Antoine Pitrou 9befeb3743 Issue #5421: merge fix 2011-03-17 22:40:18 +01:00
Antoine Pitrou 5e98141f9f Issue #5421: Fix misleading error message when one of socket.sendto()'s
arguments has the wrong type.  Patch by Nikita Vetoshkin.
2011-03-17 22:38:37 +01:00
Ezio Melotti 2e8a07c21d Merge with 3.1. 2011-03-16 12:51:44 +02:00
Ezio Melotti 9465d424ec Revert typo fixes in zlib/* 2011-03-16 12:48:54 +02:00
Ezio Melotti 3b3499ba69 #11565: Merge with 3.1. 2011-03-16 11:35:38 +02:00
Ezio Melotti 13925008dc #11565: Fix several typos. Patch by Piotr Kasprzyk. 2011-03-16 11:05:33 +02:00
Gregory P. Smith 9c4f44f70a Fix issue #11432. if the stdin pipe is the same file descriptor as either stdout or stderr
in the _posixsubprocess C extension module it would unintentionally close the fds and raise
an error.
2011-03-15 14:56:39 -04:00
Ezio Melotti b78b4d7bf5 Merge with 3.2 2011-03-15 19:19:04 +02:00
Ezio Melotti 8beaa6c2ec Revert typo fixes in _cytpes/libffi* 2011-03-15 19:10:51 +02:00
Ezio Melotti 4969f709cc #11515: Merge with 3.1. 2011-03-15 05:59:46 +02:00
Ezio Melotti 42da663e6f #11515: fix several typos. Patch by Piotr Kasprzyk. 2011-03-15 05:18:48 +02:00