diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2015-06-28 17:08:35 +0300 |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2015-06-28 17:08:35 +0300 |
commit | f4590a801412d203b0597424cc6bd6c5f439f6d1 (patch) | |
tree | aa68955d2c13a5186b5e9061c194978aacc8a045 /Python/thread_foobar.h | |
parent | 6ea82ec7a7990220fd423ee7a777484dd24089b3 (diff) | |
parent | fbff4549e00af01c17c03daa566002e560113fce (diff) | |
download | cpython-f4590a801412d203b0597424cc6bd6c5f439f6d1.tar.gz |
Issue #24336: The contextmanager decorator now works with functions with
keyword arguments called "func" and "self". Patch by Martin Panter.
Diffstat (limited to 'Python/thread_foobar.h')
-rw-r--r-- | Python/thread_foobar.h | 63 |
1 files changed, 60 insertions, 3 deletions
diff --git a/Python/thread_foobar.h b/Python/thread_foobar.h index d2b78c5cae..ea96f9c9d7 100644 --- a/Python/thread_foobar.h +++ b/Python/thread_foobar.h @@ -1,4 +1,3 @@ - /* * Initialization. */ @@ -61,10 +60,18 @@ PyThread_free_lock(PyThread_type_lock lock) int PyThread_acquire_lock(PyThread_type_lock lock, int waitflag) { + return PyThread_acquire_lock_timed(lock, waitflag ? -1 : 0, 0); +} + +PyLockStatus +PyThread_acquire_lock_timed(PyThread_type_lock lock, PY_TIMEOUT_T microseconds, + int intr_flag) +{ int success; - dprintf(("PyThread_acquire_lock(%p, %d) called\n", lock, waitflag)); - dprintf(("PyThread_acquire_lock(%p, %d) -> %d\n", lock, waitflag, success)); + dprintf(("PyThread_acquire_lock_timed(%p, %lld, %d) called\n", lock, microseconds, intr_flag)); + dprintf(("PyThread_acquire_lock_timed(%p, %lld, %d) -> %d\n", + lock, microseconds, intr_flag, success)); return success; } @@ -73,3 +80,53 @@ PyThread_release_lock(PyThread_type_lock lock) { dprintf(("PyThread_release_lock(%p) called\n", lock)); } + +/* The following are only needed if native TLS support exists */ +#define Py_HAVE_NATIVE_TLS + +#ifdef Py_HAVE_NATIVE_TLS +int +PyThread_create_key(void) +{ + int result; + return result; +} + +void +PyThread_delete_key(int key) +{ + +} + +int +PyThread_set_key_value(int key, void *value) +{ + int ok; + + /* A failure in this case returns -1 */ + if (!ok) + return -1; + return 0; +} + +void * +PyThread_get_key_value(int key) +{ + void *result; + + return result; +} + +void +PyThread_delete_key_value(int key) +{ + +} + +void +PyThread_ReInitTLS(void) +{ + +} + +#endif |