List of commits:
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
Commit fdaeea620f8c78da89cddba4ab010c64535800e0 - bpo-30279: Remove unused Python/thread_foobar.h (#1473)
Python/thread_foobar.h is the template code that is threading adaptation
for new platforms, also hasn't been used on actual platforms.
Python/thread_*.h give concrete examples of adaptation instead of the
template code.
Author: Masayuki Yamamoto
Author date (UTC): 2017-05-05 08:04
Committer name: Victor Stinner
Committer date (UTC): 2017-05-05 08:04
Parent(s): ef9c0e732fc50aefbdd7c5a80e04e14b31684e66
Signing key:
Tree: 252054db6c2dad0712cb061d1cad56522b20cb79
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
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/benf_wspdigital/cpython

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/benf_wspdigital/cpython

Clone this repository using git:
git clone git://git.rocketgit.com/user/benf_wspdigital/cpython

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main