diff options
author | Guido van Rossum <guido@python.org> | 1994-05-23 12:43:41 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1994-05-23 12:43:41 (GMT) |
commit | e944da8916e053a6a1deda8ce3fa61304d68f872 (patch) | |
tree | 335f8f6a765cce7698846de306af51157cbfeaac | |
parent | 34162a123a28f9092d6d9f361dd11bbfe23139a4 (diff) | |
download | cpython-e944da8916e053a6a1deda8ce3fa61304d68f872.zip cpython-e944da8916e053a6a1deda8ce3fa61304d68f872.tar.gz cpython-e944da8916e053a6a1deda8ce3fa61304d68f872.tar.bz2 |
ceval.c: dict of local mapping is now a tuple
compile.c: lists and dictionary in code objects become tuples
import.c: bump MAGIC
thread*.[ch]: added thread_ident() function
version.c: added '++' to version number and bumped date
-rw-r--r-- | Python/thread_cthread.h | 6 | ||||
-rw-r--r-- | Python/thread_foobar.h | 6 | ||||
-rw-r--r-- | Python/thread_lwp.h | 14 | ||||
-rw-r--r-- | Python/thread_pthread.h | 11 | ||||
-rw-r--r-- | Python/thread_sgi.h | 5 | ||||
-rw-r--r-- | Python/thread_solaris.h | 7 |
6 files changed, 43 insertions, 6 deletions
diff --git a/Python/thread_cthread.h b/Python/thread_cthread.h index c56bf0d..bf9a024 100644 --- a/Python/thread_cthread.h +++ b/Python/thread_cthread.h @@ -48,6 +48,12 @@ int start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg) return success < 0 ? 0 : 1; } +long get_thread_ident _P0() +{ + if (!initialized) + init_thread(); +} + static void do_exit_thread _P1(no_cleanup, int no_cleanup) { dprintf(("exit_thread called\n")); diff --git a/Python/thread_foobar.h b/Python/thread_foobar.h index 492096a..4b767b1 100644 --- a/Python/thread_foobar.h +++ b/Python/thread_foobar.h @@ -43,6 +43,12 @@ int start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg) return success < 0 ? 0 : 1; } +long get_thread_ident _P0() +{ + if (!initialized) + init_thread(); +} + static void do_exit_thread _P1(no_cleanup, int no_cleanup) { dprintf(("exit_thread called\n")); diff --git a/Python/thread_lwp.h b/Python/thread_lwp.h index b28e602..ab59ccd 100644 --- a/Python/thread_lwp.h +++ b/Python/thread_lwp.h @@ -52,9 +52,7 @@ static void _init_thread _P0() int start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg) { thread_t tid; - int success = 0; /* init not needed when SOLARIS_THREADS and */ - /* C_THREADS implemented properly */ - + int success; dprintf(("start_new_thread called\n")); if (!initialized) init_thread(); @@ -62,6 +60,16 @@ int start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg) return success < 0 ? 0 : 1; } +long get_thread_ident _P0() +{ + thread_t tid; + if (!initialized) + init_thread(); + if (lwp_self(&tid) < 0) + return -1; + return tid.thread_id; +} + static void do_exit_thread _P1(no_cleanup, int no_cleanup) { dprintf(("exit_thread called\n")); diff --git a/Python/thread_pthread.h b/Python/thread_pthread.h index 1d539ee..c5d7be4 100644 --- a/Python/thread_pthread.h +++ b/Python/thread_pthread.h @@ -83,9 +83,7 @@ int start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg) static int local_initialized = 0; #endif /* SGI_THREADS and USE_DL */ pthread_t th; - int success = 0; /* init not needed when SOLARIS_THREADS and */ - /* C_THREADS implemented properly */ - + int success; dprintf(("start_new_thread called\n")); if (!initialized) init_thread(); @@ -93,6 +91,13 @@ int start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg) return success < 0 ? 0 : 1; } +long get_thread_ident _P0() +{ + if (!initialized) + init_thread(); + return (long) pthread_self(); +} + static void do_exit_thread _P1(no_cleanup, int no_cleanup) { dprintf(("exit_thread called\n")); diff --git a/Python/thread_sgi.h b/Python/thread_sgi.h index 6f6334e..40f28a0 100644 --- a/Python/thread_sgi.h +++ b/Python/thread_sgi.h @@ -229,6 +229,11 @@ int start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg) return success < 0 ? 0 : 1; } +long get_thread_ident _P0() +{ + return getpid(); +} + static void do_exit_thread _P1(no_cleanup, int no_cleanup) { dprintf(("exit_thread called\n")); diff --git a/Python/thread_solaris.h b/Python/thread_solaris.h index 08cf6dd..8bbbeb0 100644 --- a/Python/thread_solaris.h +++ b/Python/thread_solaris.h @@ -76,6 +76,13 @@ int start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg) return success < 0 ? 0 : 1; } +long get_thread_ident _P0() +{ + if (!initialized) + init_thread(); + return thr_self(); +} + static void do_exit_thread _P1(no_cleanup, int no_cleanup) { dprintf(("exit_thread called\n")); |