summaryrefslogtreecommitdiffstats
path: root/Python/thread_sgi.h
diff options
context:
space:
mode:
authorMark Hammond <mhammond@skippinet.com.au>2003-04-19 15:41:53 (GMT)
committerMark Hammond <mhammond@skippinet.com.au>2003-04-19 15:41:53 (GMT)
commit8d98d2cb95ac37147a4de5a119869211e8351324 (patch)
tree8175d77139194bffa61b79d19544525927a13fc5 /Python/thread_sgi.h
parente36b6900878b8715c37bfa241381dddb82cda386 (diff)
downloadcpython-8d98d2cb95ac37147a4de5a119869211e8351324.zip
cpython-8d98d2cb95ac37147a4de5a119869211e8351324.tar.gz
cpython-8d98d2cb95ac37147a4de5a119869211e8351324.tar.bz2
New PyGILState_ API - implements pep 311, from patch 684256.
Diffstat (limited to 'Python/thread_sgi.h')
-rw-r--r--Python/thread_sgi.h80
1 files changed, 0 insertions, 80 deletions
diff --git a/Python/thread_sgi.h b/Python/thread_sgi.h
index 0fceb21..e246538 100644
--- a/Python/thread_sgi.h
+++ b/Python/thread_sgi.h
@@ -377,83 +377,3 @@ void PyThread_release_lock(PyThread_type_lock lock)
if (usunsetlock((ulock_t) lock) < 0)
perror("usunsetlock");
}
-
-/*
- * Per-thread data ("key") support.
- */
-
-struct key {
- struct key *next;
- long id;
- int key;
- void *value;
-};
-
-static struct key *keyhead = NULL;
-static int nkeys = 0;
-static PyThread_type_lock keymutex = NULL;
-
-static struct key *find_key(int key, void *value)
-{
- struct key *p;
- long id = PyThread_get_thread_ident();
- for (p = keyhead; p != NULL; p = p->next) {
- if (p->id == id && p->key == key)
- return p;
- }
- if (value == NULL)
- return NULL;
- p = (struct key *)malloc(sizeof(struct key));
- if (p != NULL) {
- p->id = id;
- p->key = key;
- p->value = value;
- PyThread_acquire_lock(keymutex, 1);
- p->next = keyhead;
- keyhead = p;
- PyThread_release_lock(keymutex);
- }
- return p;
-}
-
-int PyThread_create_key(void)
-{
- if (keymutex == NULL)
- keymutex = PyThread_allocate_lock();
- return ++nkeys;
-}
-
-void PyThread_delete_key(int key)
-{
- struct key *p, **q;
- PyThread_acquire_lock(keymutex, 1);
- q = &keyhead;
- while ((p = *q) != NULL) {
- if (p->key == key) {
- *q = p->next;
- free((void *)p);
- /* NB This does *not* free p->value! */
- }
- else
- q = &p->next;
- }
- PyThread_release_lock(keymutex);
-}
-
-int PyThread_set_key_value(int key, void *value)
-{
- struct key *p = find_key(key, value);
- if (p == NULL)
- return -1;
- else
- return 0;
-}
-
-void *PyThread_get_key_value(int key)
-{
- struct key *p = find_key(key, NULL);
- if (p == NULL)
- return NULL;
- else
- return p->value;
-}