svn commit: trunk/uClibc/libpthread/linuxthreads.old
psm at uclibc.org
psm at uclibc.org
Wed Jan 25 14:59:18 UTC 2006
Author: psm
Date: 2006-01-25 06:59:17 -0800 (Wed, 25 Jan 2006)
New Revision: 13600
Log:
make use of the internals provided earlier
Modified:
trunk/uClibc/libpthread/linuxthreads.old/condvar.c
trunk/uClibc/libpthread/linuxthreads.old/lockfile.c
trunk/uClibc/libpthread/linuxthreads.old/ptfork.c
trunk/uClibc/libpthread/linuxthreads.old/pthread.c
trunk/uClibc/libpthread/linuxthreads.old/specific.c
Changeset:
Modified: trunk/uClibc/libpthread/linuxthreads.old/condvar.c
===================================================================
--- trunk/uClibc/libpthread/linuxthreads.old/condvar.c 2006-01-25 14:58:26 UTC (rev 13599)
+++ trunk/uClibc/libpthread/linuxthreads.old/condvar.c 2006-01-25 14:59:17 UTC (rev 13600)
@@ -96,7 +96,7 @@
pthread_exit(PTHREAD_CANCELED);
}
- pthread_mutex_unlock(mutex);
+ __pthread_mutex_unlock(mutex);
spurious_wakeup_count = 0;
while (1)
@@ -121,7 +121,7 @@
if (THREAD_GETMEM(self, p_woken_by_cancel)
&& THREAD_GETMEM(self, p_cancelstate) == PTHREAD_CANCEL_ENABLE) {
THREAD_SETMEM(self, p_woken_by_cancel, 0);
- pthread_mutex_lock(mutex);
+ __pthread_mutex_lock(mutex);
pthread_exit(PTHREAD_CANCELED);
}
@@ -129,7 +129,7 @@
while (spurious_wakeup_count--)
restart(self);
- pthread_mutex_lock(mutex);
+ __pthread_mutex_lock(mutex);
return 0;
}
@@ -171,7 +171,7 @@
pthread_exit(PTHREAD_CANCELED);
}
- pthread_mutex_unlock(mutex);
+ __pthread_mutex_unlock(mutex);
spurious_wakeup_count = 0;
while (1)
@@ -188,7 +188,7 @@
if (was_on_queue) {
__pthread_set_own_extricate_if(self, 0);
- pthread_mutex_lock(mutex);
+ __pthread_mutex_lock(mutex);
return ETIMEDOUT;
}
@@ -215,7 +215,7 @@
if (THREAD_GETMEM(self, p_woken_by_cancel)
&& THREAD_GETMEM(self, p_cancelstate) == PTHREAD_CANCEL_ENABLE) {
THREAD_SETMEM(self, p_woken_by_cancel, 0);
- pthread_mutex_lock(mutex);
+ __pthread_mutex_lock(mutex);
pthread_exit(PTHREAD_CANCELED);
}
@@ -223,7 +223,7 @@
while (spurious_wakeup_count--)
restart(self);
- pthread_mutex_lock(mutex);
+ __pthread_mutex_lock(mutex);
return 0;
}
Modified: trunk/uClibc/libpthread/linuxthreads.old/lockfile.c
===================================================================
--- trunk/uClibc/libpthread/linuxthreads.old/lockfile.c 2006-01-25 14:58:26 UTC (rev 13599)
+++ trunk/uClibc/libpthread/linuxthreads.old/lockfile.c 2006-01-25 14:59:17 UTC (rev 13600)
@@ -20,6 +20,10 @@
#include <stdio.h>
#include <pthread.h>
+libpthread_hidden_proto(pthread_mutexattr_init)
+libpthread_hidden_proto(pthread_mutexattr_settype)
+libpthread_hidden_proto(pthread_mutexattr_destroy)
+
/* Note: glibc puts flockfile, funlockfile, and ftrylockfile in both
* libc and libpthread. In uClibc, they are now in libc only. */
Modified: trunk/uClibc/libpthread/linuxthreads.old/ptfork.c
===================================================================
--- trunk/uClibc/libpthread/linuxthreads.old/ptfork.c 2006-01-25 14:58:26 UTC (rev 13599)
+++ trunk/uClibc/libpthread/linuxthreads.old/ptfork.c 2006-01-25 14:59:17 UTC (rev 13600)
@@ -61,14 +61,14 @@
struct handler_list_block * block =
(struct handler_list_block *) malloc(sizeof(struct handler_list_block));
if (block == NULL) return ENOMEM;
- pthread_mutex_lock(&pthread_atfork_lock);
+ __pthread_mutex_lock(&pthread_atfork_lock);
/* "prepare" handlers are called in LIFO */
pthread_insert_list(&pthread_atfork_prepare, prepare, &block->prepare, 0);
/* "parent" handlers are called in FIFO */
pthread_insert_list(&pthread_atfork_parent, parent, &block->parent, 1);
/* "child" handlers are called in FIFO */
pthread_insert_list(&pthread_atfork_child, child, &block->child, 1);
- pthread_mutex_unlock(&pthread_atfork_lock);
+ __pthread_mutex_unlock(&pthread_atfork_lock);
return 0;
}
//strong_alias (__pthread_atfork, pthread_atfork)
@@ -85,11 +85,11 @@
pid_t pid;
struct handler_list * prepare, * child, * parent;
- pthread_mutex_lock(&pthread_atfork_lock);
+ __pthread_mutex_lock(&pthread_atfork_lock);
prepare = pthread_atfork_prepare;
child = pthread_atfork_child;
parent = pthread_atfork_parent;
- pthread_mutex_unlock(&pthread_atfork_lock);
+ __pthread_mutex_unlock(&pthread_atfork_lock);
pthread_call_handlers(prepare);
pid = __libc_fork();
if (pid == 0) {
Modified: trunk/uClibc/libpthread/linuxthreads.old/pthread.c
===================================================================
--- trunk/uClibc/libpthread/linuxthreads.old/pthread.c 2006-01-25 14:58:26 UTC (rev 13599)
+++ trunk/uClibc/libpthread/linuxthreads.old/pthread.c 2006-01-25 14:59:17 UTC (rev 13600)
@@ -40,8 +40,9 @@
/* mods for uClibc: __libc_sigaction is not in any standard headers */
extern __typeof(sigaction) __libc_sigaction;
+libpthread_hidden_proto(waitpid)
+libpthread_hidden_proto(raise)
-
/* These variables are used by the setup code. */
extern int _errno;
extern int _h_errno;
@@ -316,11 +317,11 @@
.ptr___pthread_exit = pthread_exit,
.ptr_pthread_getschedparam = pthread_getschedparam,
.ptr_pthread_setschedparam = pthread_setschedparam,
- .ptr_pthread_mutex_destroy = pthread_mutex_destroy,
- .ptr_pthread_mutex_init = pthread_mutex_init,
- .ptr_pthread_mutex_lock = pthread_mutex_lock,
- .ptr_pthread_mutex_trylock = pthread_mutex_trylock,
- .ptr_pthread_mutex_unlock = pthread_mutex_unlock,
+ .ptr_pthread_mutex_destroy = __pthread_mutex_destroy,
+ .ptr_pthread_mutex_init = __pthread_mutex_init,
+ .ptr_pthread_mutex_lock = __pthread_mutex_lock,
+ .ptr_pthread_mutex_trylock = __pthread_mutex_trylock,
+ .ptr_pthread_mutex_unlock = __pthread_mutex_unlock,
.ptr_pthread_self = pthread_self,
.ptr_pthread_setcancelstate = pthread_setcancelstate,
.ptr_pthread_setcanceltype = pthread_setcanceltype,
Modified: trunk/uClibc/libpthread/linuxthreads.old/specific.c
===================================================================
--- trunk/uClibc/libpthread/linuxthreads.old/specific.c 2006-01-25 14:58:26 UTC (rev 13599)
+++ trunk/uClibc/libpthread/linuxthreads.old/specific.c 2006-01-25 14:59:17 UTC (rev 13600)
@@ -42,18 +42,18 @@
{
int i;
- pthread_mutex_lock(&pthread_keys_mutex);
+ __pthread_mutex_lock(&pthread_keys_mutex);
for (i = 0; i < PTHREAD_KEYS_MAX; i++) {
if (! pthread_keys[i].in_use) {
/* Mark key in use */
pthread_keys[i].in_use = 1;
pthread_keys[i].destr = destr;
- pthread_mutex_unlock(&pthread_keys_mutex);
+ __pthread_mutex_unlock(&pthread_keys_mutex);
*key = i;
return 0;
}
}
- pthread_mutex_unlock(&pthread_keys_mutex);
+ __pthread_mutex_unlock(&pthread_keys_mutex);
return EAGAIN;
}
@@ -62,9 +62,9 @@
{
pthread_descr self = thread_self();
- pthread_mutex_lock(&pthread_keys_mutex);
+ __pthread_mutex_lock(&pthread_keys_mutex);
if (key >= PTHREAD_KEYS_MAX || !pthread_keys[key].in_use) {
- pthread_mutex_unlock(&pthread_keys_mutex);
+ __pthread_mutex_unlock(&pthread_keys_mutex);
return EINVAL;
}
pthread_keys[key].in_use = 0;
@@ -90,7 +90,7 @@
} while (th != self);
}
- pthread_mutex_unlock(&pthread_keys_mutex);
+ __pthread_mutex_unlock(&pthread_keys_mutex);
return 0;
}
More information about the uClibc-cvs
mailing list