Subject | Hash | Author | Date (UTC) |
---|---|---|---|
bpo-30279: Remove unused Python/thread_foobar.h (#1473) | fdaeea620f8c78da89cddba4ab010c64535800e0 | Masayuki Yamamoto | 2017-05-05 08:04:13 |
bpo-30264: ExpatParser closes the source on error (#1451) | ef9c0e732fc50aefbdd7c5a80e04e14b31684e66 | Victor Stinner | 2017-05-05 07:46:47 |
bpo-30277: Replace _sre.getlower() with _sre.ascii_tolower() and _sre.unicode_tolower(). (#1468) | 7186cc29be352bed6f1110873283d073fd0643e4 | Serhiy Storchaka | 2017-05-05 07:42:46 |
bpo-30243: Fixed the possibility of a crash in _json. (#1420) | 76a3e51a403bc84ed536921866c86dd7d07aaa7e | Serhiy Storchaka | 2017-05-05 07:08:49 |
bpo-30215: Make re.compile() locale agnostic. (#1361) | 898ff03e1e7925ecde3da66327d3cdc7e07625ba | Serhiy Storchaka | 2017-05-05 05:53:40 |
Make code coverage less strict (GH-1438) | 647c3d381e67490e82cdbbe6c96e46d5e1628ce2 | Brett Cannon | 2017-05-04 21:58:54 |
bpo-30273: Update sysconfig (#1464) | b109a1d3360fc4bb87b9887264e3634632d392ca | Victor Stinner | 2017-05-04 21:29:09 |
bpo-30185: avoid KeyboardInterrupt tracebacks in forkserver (#1319) | 6dd4d734ed207ba16b017e38f8909de7ef187e29 | Antoine Pitrou | 2017-05-04 14:44:53 |
bpo-30263: regrtest: log system load (#1452) | 3d0056842c5e06b4102f990b59ab3b607f932dd8 | Victor Stinner | 2017-05-04 13:21:12 |
bpo-29956: Improve the math.exp() related documentation. (#1073) | dbaf746b6de0ee431c809d3175ab40ccc18898a8 | Serhiy Storchaka | 2017-05-04 09:25:09 |
bpo-30166: Import command-line parsing modules only when needed. (#1293) | 7e4db2f253c555568d56177c2fd083bcf8f88d34 | Serhiy Storchaka | 2017-05-04 05:17:47 |
bpo-30225: Fix is_valid_fd() on macOS Tiger (#1443) | 1c4670ea0cc3d208121af11b9b973e6bb268e570 | Victor Stinner | 2017-05-03 22:45:56 |
bpo-30184: Add tests for invalid use of PyArg_ParseTupleAndKeywords. (#1316) | 5f161fd86dd5bb936a1a2a13391b13b7e59ec201 | Serhiy Storchaka | 2017-05-03 21:03:23 |
Add myself to mention-bot's alwaysNotifyForPaths for ssl/hashlib (#1425) | feec3dc9c308052754f9e4848c1c1ddb007e9f66 | Christian Heimes | 2017-05-03 18:17:54 |
Explicitly mention what should (not) be discussed on GitHub (GH-1437) | 7fdd30975e3fa9ec4be62464a9fcab7798d0ed6e | Brett Cannon | 2017-05-03 17:51:55 |
bpo-28315: Improve code examples in docs (GH-1372) | 8856940cf2e82cb17db2b684cd5732fe658605ca | UltimateCoder | 2017-05-03 16:46:45 |
bpo-23404: make touch becomes make regen-all (#1405) | a5c62a8e9f0de6c4133825a5710984a3cd5e102b | Victor Stinner | 2017-05-03 16:21:48 |
bpo-30103: Allow Uuencode in Python using backtick as zero instead of space (#1326) | 13f1f423fac39f8f14a3ce919dd236975517d5c6 | Xiang Zhang | 2017-05-03 03:16:21 |
Fix tests: getsockname() can return None on OS X on unbound sockets (#1400) | 0360a9d015ddbc4e3d58e3ab4b433da27bf1db3a | Antoine Pitrou | 2017-05-02 21:48:26 |
bpo-30232: Regenerate configure (#1396) | 9ed34a89532763cf89f5e11fffb91ef7dee29fed | Victor Stinner | 2017-05-02 20:35:58 |
File | Lines added | Lines deleted |
---|---|---|
Python/thread.c | 0 | 6 |
Python/thread_foobar.h | 0 | 132 |
File Python/thread.c changed (mode: 100644) (index 3a52e1e892..8fa978abd8) | |||
... | ... | static size_t _pythread_stacksize = 0; | |
92 | 92 | #endif | #endif |
93 | 93 | ||
94 | 94 | ||
95 | /* | ||
96 | #ifdef FOOBAR_THREADS | ||
97 | #include "thread_foobar.h" | ||
98 | #endif | ||
99 | */ | ||
100 | |||
101 | 95 | /* return the current thread stack size */ | /* return the current thread stack size */ |
102 | 96 | size_t | size_t |
103 | 97 | PyThread_get_stacksize(void) | PyThread_get_stacksize(void) |
File Python/thread_foobar.h deleted (index 45cfd1bb6f..0000000000) | |||
1 | /* | ||
2 | * Initialization. | ||
3 | */ | ||
4 | static void | ||
5 | PyThread__init_thread(void) | ||
6 | { | ||
7 | } | ||
8 | |||
9 | /* | ||
10 | * Thread support. | ||
11 | */ | ||
12 | unsigned long | ||
13 | PyThread_start_new_thread(void (*func)(void *), void *arg) | ||
14 | { | ||
15 | int success = 0; /* init not needed when SOLARIS_THREADS and */ | ||
16 | /* C_THREADS implemented properly */ | ||
17 | |||
18 | dprintf(("PyThread_start_new_thread called\n")); | ||
19 | if (!initialized) | ||
20 | PyThread_init_thread(); | ||
21 | return success < 0 ? PYTHREAD_INVALID_THREAD_ID : 0; | ||
22 | } | ||
23 | |||
24 | unsigned long | ||
25 | PyThread_get_thread_ident(void) | ||
26 | { | ||
27 | if (!initialized) | ||
28 | PyThread_init_thread(); | ||
29 | } | ||
30 | |||
31 | void | ||
32 | PyThread_exit_thread(void) | ||
33 | { | ||
34 | dprintf(("PyThread_exit_thread called\n")); | ||
35 | if (!initialized) | ||
36 | exit(0); | ||
37 | } | ||
38 | |||
39 | /* | ||
40 | * Lock support. | ||
41 | */ | ||
42 | PyThread_type_lock | ||
43 | PyThread_allocate_lock(void) | ||
44 | { | ||
45 | |||
46 | dprintf(("PyThread_allocate_lock called\n")); | ||
47 | if (!initialized) | ||
48 | PyThread_init_thread(); | ||
49 | |||
50 | dprintf(("PyThread_allocate_lock() -> %p\n", lock)); | ||
51 | return (PyThread_type_lock) lock; | ||
52 | } | ||
53 | |||
54 | void | ||
55 | PyThread_free_lock(PyThread_type_lock lock) | ||
56 | { | ||
57 | dprintf(("PyThread_free_lock(%p) called\n", lock)); | ||
58 | } | ||
59 | |||
60 | int | ||
61 | PyThread_acquire_lock(PyThread_type_lock lock, int waitflag) | ||
62 | { | ||
63 | return PyThread_acquire_lock_timed(lock, waitflag ? -1 : 0, 0); | ||
64 | } | ||
65 | |||
66 | PyLockStatus | ||
67 | PyThread_acquire_lock_timed(PyThread_type_lock lock, PY_TIMEOUT_T microseconds, | ||
68 | int intr_flag) | ||
69 | { | ||
70 | int success; | ||
71 | |||
72 | dprintf(("PyThread_acquire_lock_timed(%p, %lld, %d) called\n", lock, microseconds, intr_flag)); | ||
73 | dprintf(("PyThread_acquire_lock_timed(%p, %lld, %d) -> %d\n", | ||
74 | lock, microseconds, intr_flag, success)); | ||
75 | return success; | ||
76 | } | ||
77 | |||
78 | void | ||
79 | PyThread_release_lock(PyThread_type_lock lock) | ||
80 | { | ||
81 | dprintf(("PyThread_release_lock(%p) called\n", lock)); | ||
82 | } | ||
83 | |||
84 | /* The following are only needed if native TLS support exists */ | ||
85 | #define Py_HAVE_NATIVE_TLS | ||
86 | |||
87 | #ifdef Py_HAVE_NATIVE_TLS | ||
88 | int | ||
89 | PyThread_create_key(void) | ||
90 | { | ||
91 | int result; | ||
92 | return result; | ||
93 | } | ||
94 | |||
95 | void | ||
96 | PyThread_delete_key(int key) | ||
97 | { | ||
98 | |||
99 | } | ||
100 | |||
101 | int | ||
102 | PyThread_set_key_value(int key, void *value) | ||
103 | { | ||
104 | int ok; | ||
105 | |||
106 | /* A failure in this case returns -1 */ | ||
107 | if (!ok) | ||
108 | return -1; | ||
109 | return 0; | ||
110 | } | ||
111 | |||
112 | void * | ||
113 | PyThread_get_key_value(int key) | ||
114 | { | ||
115 | void *result; | ||
116 | |||
117 | return result; | ||
118 | } | ||
119 | |||
120 | void | ||
121 | PyThread_delete_key_value(int key) | ||
122 | { | ||
123 | |||
124 | } | ||
125 | |||
126 | void | ||
127 | PyThread_ReInitTLS(void) | ||
128 | { | ||
129 | |||
130 | } | ||
131 | |||
132 | #endif |