Commit graph

6075 commits

Author SHA1 Message Date
Victor Stinner
7bba62fd68 faulthandler: dump all threads by default
* Set the default value of all_threads arguments to True
 * Py_FatalError() dumps all threads, instead of only the current thread

Dump only the current thread is not reliable. In some cases, Python is unable
to retrieve the state of the current thread and so is unable to dump the
traceback. faulthandler keeps a reference to the interpreter and so is always
able to dump the traceback of all threads.
2011-05-07 12:43:00 +02:00
Victor Stinner
c925617b54 faulthandler: save/restore errno in the two signal handlers 2011-05-07 12:20:11 +02:00
Ronald Oussoren
97c3eb4ed5 Closes Issue 11916: Add a number of MacOSX specific definitions to the errno module.
Patch by Pierre Carrier.
2011-05-07 09:59:03 +02:00
Victor Stinner
35b300c5fd Issue #8407: signal.pthread_sigmask() returns a set instead of a list
Update the doc. Refactor also related tests.
2011-05-04 13:20:35 +02:00
Victor Stinner
d0e516db50 Issue #8407: pthread_sigmask() checks immediatly if signal handlers have been
called. The test checks that SIG_UNBLOCK calls immediatly the signal handler of
the pending SIGUSR1. Improve also the tests using an exception (division by
zero) instead of a flag (a function attribute).
2011-05-03 14:57:12 +02:00
Alexander Belopolsky
66746cb222 Removed unused variable 2011-05-02 13:44:20 -04:00
Alexander Belopolsky
89da349b7b Issue #11930: Remove year >= 1000 limitation from datetime.strftime.
Patch by Victor Stinner.
2011-05-02 13:14:24 -04:00
Alexander Belopolsky
09a98a99cd merge 2011-05-02 12:31:17 -04:00
Alexander Belopolsky
03163ac185 Issue #11930: Remove deprecated time.accept2dyear. 2011-05-02 12:20:52 -04:00
Victor Stinner
72c53b5dcc cleanup signalmodule.c: use PyModule_AddIntMacro() 2011-05-02 16:15:43 +02:00
Victor Stinner
fadeeffe5b (Merge 3.2) Issue #11277: mmap.mmap() calls fcntl(fd, F_FULLFSYNC) on Mac OS X
to get around a mmap bug with sparse files. Patch written by Steffen Daode
Nurpmeso.
2011-05-02 01:14:55 +02:00
Victor Stinner
8108e96bc8 (Merge 3.1) Issue #11277: mmap.mmap() calls fcntl(fd, F_FULLFSYNC) on Mac OS X
to get around a mmap bug with sparse files. Patch written by Steffen Daode
Nurpmeso.
2011-05-02 01:11:33 +02:00
Victor Stinner
a6cd0cf0f5 Issue #11277: mmap calls fcntl(fd, F_FULLFSYNC) on Mac OS X to get around a
mmap bug with sparse files. Patch written by Steffen Daode Nurpmeso.
2011-05-02 01:05:37 +02:00
Victor Stinner
a929335961 Issue #8407, issue #11859: Add signal.pthread_sigmask() function to fetch
and/or change the signal mask of the calling thread.

Fix also tests of test_io using threads and an alarm: use pthread_sigmask() to
ensure that the SIGALRM signal is received by the main thread.

Original patch written by Jean-Paul Calderone.
2011-04-30 15:21:58 +02:00
Victor Stinner
d5c355ccc7 Issue #11223: Replace threading._info() by sys.thread_info 2011-04-30 14:53:09 +02:00
Antoine Pitrou
9ea1c8d7d7 Issue #10517: After fork(), reinitialize the TLS used by the PyGILState_*
APIs, to avoid a crash with the pthread implementation in RHEL 5.  Patch
by Charles-François Natali.
2011-04-27 19:30:16 +02:00
Antoine Pitrou
0c759febb6 Issue #10517: After fork(), reinitialize the TLS used by the PyGILState_*
APIs, to avoid a crash with the pthread implementation in RHEL 5.  Patch
by Charles-François Natali.
2011-04-27 19:28:05 +02:00
Victor Stinner
66299a49f0 Fix compilation of _testembed.c without threads 2011-04-26 23:37:02 +02:00
Victor Stinner
b90db4caf0 Issue #11918: OS/2 and VMS are no more supported because of the lack of
maintainer.
2011-04-26 22:48:24 +02:00
Antoine Pitrou
eec60603a8 Issue #10914: Add a minimal embedding test to test_capi. 2011-04-25 21:23:26 +02:00
Antoine Pitrou
8e60577693 Issue #10914: Add a minimal embedding test to test_capi. 2011-04-25 21:21:07 +02:00
Antoine Pitrou
f645451d78 Issue #11856: Speed up parsing of JSON numbers. 2011-04-25 19:16:06 +02:00
Victor Stinner
c2824d41c3 Issue #11915: threading.RLock()._release_save() raises a RuntimeError if the
lock was not acquired.
2011-04-24 23:41:33 +02:00
Antoine Pitrou
877509aef4 Issue #11382: Trivial system calls, such as dup() or pipe(), needn't
release the GIL.  Patch by Charles-François Natali.
2011-04-23 17:21:13 +02:00
Victor Stinner
a154b5cea4 Simplify _count_elements() in _collections
PyIter_Next() cannot return a PyExc_StopIteration: it clears this exception.
2011-04-20 23:23:52 +02:00
Victor Stinner
754851f456 Issue #11223: Add threading._info() function providing informations about the
thread implementation.

Skip test_lock_acquire_interruption() and test_rlock_acquire_interruption() of
test_threadsignals if a thread lock is implemented using a POSIX mutex and a
POSIX condition variable. A POSIX condition variable cannot be interrupted by a
signal (e.g. on Linux, the futex system call is restarted).
2011-04-19 23:58:51 +02:00
Victor Stinner
cf2a807831 faulthandler: don't use sigprocmask()
It has an undefined behaviour with threads, only use pthread_sigmask() if
it is available (and not broken).
2011-04-19 23:30:57 +02:00
Giampaolo Rodola'
ff1a73590d os.sendfile(): on Linux if offset parameter is passed as NULL we were erroneously returning a (bytes_sent, None) tuple instead of bytes_sent 2011-04-19 09:47:16 +02:00
Victor Stinner
ce16be91dc (Merge 3.2) Issue #11768: The signal handler of the signal module only calls
Py_AddPendingCall() for the first signal to fix a deadlock on reentrant or
parallel calls. PyErr_SetInterrupt() writes also into the wake up file.
2011-04-18 16:30:17 +02:00
Victor Stinner
27026f87d8 (Merge 3.1) Issue #11768: The signal handler of the signal module only calls
Py_AddPendingCall() for the first signal to fix a deadlock on reentrant or
parallel calls. PyErr_SetInterrupt() writes also into the wake up file.
2011-04-18 16:28:39 +02:00
Victor Stinner
6c9b35bfe2 Issue #11768: The signal handler of the signal module only calls
Py_AddPendingCall() for the first signal to fix a deadlock on reentrant or
parallel calls. PyErr_SetInterrupt() writes also into the wake up file.
2011-04-18 16:25:56 +02:00
Nadeem Vawda
ea4b46f9a9 Fix 64-bit safety issue in BZ2Compressor and BZ2Decompressor. 2011-04-12 23:02:42 +02:00
Ezio Melotti
d60b74cb66 Merge with 3.2. 2011-04-11 03:51:14 +03:00
Ezio Melotti
fdb2df49bd Remove unnecessary call to PyErr_Clear. 2011-04-11 03:48:57 +03:00
Antoine Pitrou
131a6414dd Issue #11757: select.select() now raises ValueError when a negative timeout
is passed (previously, a select.error with EINVAL would be raised).  Patch
by Charles-François Natali.
2011-04-09 23:49:58 +02:00
Raymond Hettinger
a56328680d Fix nit (make spelling consistent in prototype) 2011-04-09 12:57:00 -07:00
Victor Stinner
a4de6d885f Improve faulthandler.enable(all_threads=True)
faulthandler.enable(all_threads=True) dumps the tracebacks even if it is not
possible to get the state of the current thread

Create also the get_thread_state() subfunction to factorize the code.
2011-04-09 00:47:23 +02:00
Victor Stinner
c790a5346d faulthandler: dump_tracebacks_later() displays also the timeout 2011-04-08 13:39:59 +02:00
Victor Stinner
941893291a faulthandler: fix variable name, timeout_ms => timeout_us
The comment was already correct.
2011-04-08 13:00:31 +02:00
Victor Stinner
de10f4054b faulthandler: one more time, fix usage of locks in the watchdog thread
* Write a new test to ensure that dump_tracebacks_later() still works if
   it was already called and then cancelled before
 * Don't use a variable to check the status of the thread, only rely on locks
 * The thread only releases cancel_event if it was able to acquire it (if
   the timer was interrupted)
 * The main thread always hold this lock. It is only released when
   faulthandler_thread() is interrupted until this thread exits, or at Python
   exit.
2011-04-08 12:57:06 +02:00
Victor Stinner
cfa7123ef1 faulthandler: fix unregister() if it is called before register()
Fix a crash: don't read from NULL.
2011-04-08 12:48:15 +02:00
Victor Stinner
ff4cd88266 faulthandler: fix compilating without threads 2011-04-07 11:50:25 +02:00
Victor Stinner
44e31baf95 faulthandler: we don't use (or need) SA_SIGINFO flag of sigaction() 2011-04-07 11:39:03 +02:00
Victor Stinner
9699440b57 faulthandler: check PyThreadState_Get() result in dump_tracebacks_later()
Cleanup also the code
2011-04-07 11:37:19 +02:00
Senthil Kumaran
736975a771 merge from 3.2 2011-04-06 14:16:08 +08:00
Senthil Kumaran
ae664fb528 Merge from 3.1 2011-04-06 14:11:09 +08:00
Senthil Kumaran
8f377a3bbe Issue #10762: Guard against invalid/non-supported format string '%f' on Windows. Patch Santoso Wijaya. 2011-04-06 12:54:06 +08:00
Alexander Belopolsky
28deea1fa5 Issue #11576: Fixed timedelta subtraction glitch on big timedelta values 2011-04-05 20:43:15 -04:00
Alexander Belopolsky
b6f5ec7370 Issue #11576: Fixed timedelta subtraction glitch on big timedelta values 2011-04-05 20:07:38 -04:00
Benjamin Peterson
3bd9729dc9 implement tp_clear 2011-04-05 17:25:14 -05:00