svn commit: trunk/uClibc/libpthread: linuxthreads

sjhill at uclibc.org sjhill at uclibc.org
Tue Oct 4 00:05:39 UTC 2005


Author: sjhill
Date: 2005-10-03 17:05:37 -0700 (Mon, 03 Oct 2005)
New Revision: 11738

Log:
Neaten up the libpthread directory.


Added:
   trunk/uClibc/libpthread/linuxthreads/pthread.c-OLDEXAMPLE

Removed:
   trunk/uClibc/libpthread/README.NPTL
   trunk/uClibc/libpthread/pthread.c


Changeset:
Deleted: trunk/uClibc/libpthread/README.NPTL
===================================================================
--- trunk/uClibc/libpthread/README.NPTL	2005-10-03 23:53:53 UTC (rev 11737)
+++ trunk/uClibc/libpthread/README.NPTL	2005-10-04 00:05:37 UTC (rev 11738)
@@ -1,307 +0,0 @@
-The base NPTL code for uClibc is from the glibc project located at
-<http://sourceware.org/glibc/>. The starting version was the HEAD of
-the glibc CVS repository dated 2005-05-06. Important changes from
-glibc will continue to be brought in as necessary until the version
-for uClibc is standing on its own. All of the files were originally
-brought over verbatim with no modifications. Obviously, these will
-undergo any necessary changes needed for integration into uClibc.
-Additionally (or subtractingly), the files and directories below
-were removed and not imported.
-
--- Steven J. Hill <sjhill at realitydiluted.com> on 2005-05-06
-
-
-nptl/Makeconfig
-nptl/configure
-nptl/shlib-versions
-nptl/sysdeps/generic
-nptl/sysdeps/ia64
-nptl/sysdeps/pthread/Makefile
-nptl/sysdeps/pthread/Subdirs
-nptl/sysdeps/pthread/allocalim.h
-nptl/sysdeps/pthread/configure
-nptl/sysdeps/pthread/configure.in
-nptl/sysdeps/pthread/createthread.c
-nptl/sysdeps/pthread/flockfile.c
-nptl/sysdeps/pthread/ftrylockfile.c
-nptl/sysdeps/pthread/funlockfile.c
-nptl/sysdeps/pthread/librt-cancellation.c
-nptl/sysdeps/pthread/list.h
-nptl/sysdeps/pthread/malloc-machine.h
-nptl/sysdeps/pthread/posix-timer.h
-nptl/sysdeps/pthread/pt-initfini.c
-nptl/sysdeps/pthread/pt-longjmp.c
-nptl/sysdeps/pthread/pthread-functions.h
-nptl/sysdeps/pthread/pthread.h
-nptl/sysdeps/pthread/pthread_barrier_wait.c
-nptl/sysdeps/pthread/pthread_cond_broadcast.c
-nptl/sysdeps/pthread/pthread_cond_signal.c
-nptl/sysdeps/pthread/pthread_cond_timedwait.c
-nptl/sysdeps/pthread/pthread_cond_wait.c
-nptl/sysdeps/pthread/pthread_getcpuclockid.c
-nptl/sysdeps/pthread/pthread_once.c
-nptl/sysdeps/pthread/pthread_rwlock_rdlock.c
-nptl/sysdeps/pthread/pthread_rwlock_timedrdlock.c
-nptl/sysdeps/pthread/pthread_rwlock_timedwrlock.c
-nptl/sysdeps/pthread/pthread_rwlock_unlock.c
-nptl/sysdeps/pthread/pthread_rwlock_wrlock.c
-nptl/sysdeps/pthread/pthread_sigmask.c
-nptl/sysdeps/pthread/pthread_spin_destroy.c
-nptl/sysdeps/pthread/pthread_spin_init.c
-nptl/sysdeps/pthread/pthread_spin_unlock.c
-nptl/sysdeps/pthread/rt-unwind-resume.c
-nptl/sysdeps/pthread/setxid.h
-nptl/sysdeps/pthread/sigaction.c
-nptl/sysdeps/pthread/sigfillset.c
-nptl/sysdeps/pthread/sigprocmask.c
-nptl/sysdeps/pthread/tcb-offsets.h
-nptl/sysdeps/pthread/timer_create.c
-nptl/sysdeps/pthread/timer_delete.c
-nptl/sysdeps/pthread/timer_getoverr.c
-nptl/sysdeps/pthread/timer_gettime.c
-nptl/sysdeps/pthread/timer_routines.c
-nptl/sysdeps/pthread/timer_settime.c
-nptl/sysdeps/pthread/tst-mqueue8x.c
-nptl/sysdeps/pthread/tst-timer.c
-nptl/sysdeps/pthread/unwind-forcedunwind.c
-nptl/sysdeps/pthread/unwind-resume.c
-nptl/sysdeps/s390
-nptl/sysdeps/unix
-nptl/tst-_res1.c
-nptl/tst-_res1mod1.c
-nptl/tst-_res1mod2.c
-nptl/tst-align.c
-nptl/tst-align2.c
-nptl/tst-atfork1.c
-nptl/tst-atfork2.c
-nptl/tst-atfork2mod.c
-nptl/tst-attr1.c
-nptl/tst-attr2.c
-nptl/tst-attr3.c
-nptl/tst-backtrace1.c
-nptl/tst-barrier1.c
-nptl/tst-barrier2.c
-nptl/tst-barrier3.c
-nptl/tst-barrier4.c
-nptl/tst-basic1.c
-nptl/tst-basic2.c
-nptl/tst-basic3.c
-nptl/tst-basic4.c
-nptl/tst-basic5.c
-nptl/tst-basic6.c
-nptl/tst-cancel-wrappers.sh
-nptl/tst-cancel1.c
-nptl/tst-cancel10.c
-nptl/tst-cancel11.c
-nptl/tst-cancel12.c
-nptl/tst-cancel13.c
-nptl/tst-cancel14.c
-nptl/tst-cancel15.c
-nptl/tst-cancel16.c
-nptl/tst-cancel17.c
-nptl/tst-cancel18.c
-nptl/tst-cancel19.c
-nptl/tst-cancel2.c
-nptl/tst-cancel20.c
-nptl/tst-cancel21.c
-nptl/tst-cancel22.c
-nptl/tst-cancel23.c
-nptl/tst-cancel3.c
-nptl/tst-cancel4.c
-nptl/tst-cancel5.c
-nptl/tst-cancel6.c
-nptl/tst-cancel7.c
-nptl/tst-cancel8.c
-nptl/tst-cancel9.c
-nptl/tst-cancelx1.c
-nptl/tst-cancelx10.c
-nptl/tst-cancelx11.c
-nptl/tst-cancelx12.c
-nptl/tst-cancelx13.c
-nptl/tst-cancelx14.c
-nptl/tst-cancelx15.c
-nptl/tst-cancelx16.c
-nptl/tst-cancelx17.c
-nptl/tst-cancelx18.c
-nptl/tst-cancelx2.c
-nptl/tst-cancelx20.c
-nptl/tst-cancelx21.c
-nptl/tst-cancelx3.c
-nptl/tst-cancelx4.c
-nptl/tst-cancelx5.c
-nptl/tst-cancelx6.c
-nptl/tst-cancelx7.c
-nptl/tst-cancelx8.c
-nptl/tst-cancelx9.c
-nptl/tst-cleanup0.c
-nptl/tst-cleanup0.expect
-nptl/tst-cleanup1.c
-nptl/tst-cleanup2.c
-nptl/tst-cleanup3.c
-nptl/tst-cleanup4.c
-nptl/tst-cleanup4aux.c
-nptl/tst-cleanupx0.c
-nptl/tst-cleanupx0.expect
-nptl/tst-cleanupx1.c
-nptl/tst-cleanupx2.c
-nptl/tst-cleanupx3.c
-nptl/tst-cleanupx4.c
-nptl/tst-clock1.c
-nptl/tst-clock2.c
-nptl/tst-cond1.c
-nptl/tst-cond10.c
-nptl/tst-cond11.c
-nptl/tst-cond12.c
-nptl/tst-cond13.c
-nptl/tst-cond14.c
-nptl/tst-cond15.c
-nptl/tst-cond16.c
-nptl/tst-cond17.c
-nptl/tst-cond18.c
-nptl/tst-cond19.c
-nptl/tst-cond2.c
-nptl/tst-cond20.c
-nptl/tst-cond21.c
-nptl/tst-cond3.c
-nptl/tst-cond4.c
-nptl/tst-cond5.c
-nptl/tst-cond6.c
-nptl/tst-cond7.c
-nptl/tst-cond8.c
-nptl/tst-cond9.c
-nptl/tst-context1.c
-nptl/tst-detach1.c
-nptl/tst-dlsym1.c
-nptl/tst-eintr1.c
-nptl/tst-eintr2.c
-nptl/tst-eintr3.c
-nptl/tst-eintr4.c
-nptl/tst-eintr5.c
-nptl/tst-exec1.c
-nptl/tst-exec2.c
-nptl/tst-exec3.c
-nptl/tst-exec4.c
-nptl/tst-execstack-mod.c
-nptl/tst-execstack.c
-nptl/tst-exit1.c
-nptl/tst-exit2.c
-nptl/tst-exit3.c
-nptl/tst-fini1.c
-nptl/tst-fini1mod.c
-nptl/tst-flock1.c
-nptl/tst-flock2.c
-nptl/tst-fork1.c
-nptl/tst-fork2.c
-nptl/tst-fork3.c
-nptl/tst-fork4.c
-nptl/tst-getpid1.c
-nptl/tst-getpid2.c
-nptl/tst-join1.c
-nptl/tst-join2.c
-nptl/tst-join3.c
-nptl/tst-join4.c
-nptl/tst-join5.c
-nptl/tst-key1.c
-nptl/tst-key2.c
-nptl/tst-key3.c
-nptl/tst-key4.c
-nptl/tst-kill1.c
-nptl/tst-kill2.c
-nptl/tst-kill3.c
-nptl/tst-kill4.c
-nptl/tst-kill5.c
-nptl/tst-kill6.c
-nptl/tst-locale1.c
-nptl/tst-locale2.c
-nptl/tst-mutex1.c
-nptl/tst-mutex2.c
-nptl/tst-mutex3.c
-nptl/tst-mutex4.c
-nptl/tst-mutex5.c
-nptl/tst-mutex5a.c
-nptl/tst-mutex6.c
-nptl/tst-mutex7.c
-nptl/tst-mutex7a.c
-nptl/tst-mutex8.c
-nptl/tst-mutex9.c
-nptl/tst-oddstacklimit.c
-nptl/tst-once1.c
-nptl/tst-once2.c
-nptl/tst-once3.c
-nptl/tst-once4.c
-nptl/tst-oncex3.c
-nptl/tst-oncex4.c
-nptl/tst-popen1.c
-nptl/tst-raise1.c
-nptl/tst-rwlock1.c
-nptl/tst-rwlock10.c
-nptl/tst-rwlock11.c
-nptl/tst-rwlock12.c
-nptl/tst-rwlock13.c
-nptl/tst-rwlock14.c
-nptl/tst-rwlock2.c
-nptl/tst-rwlock3.c
-nptl/tst-rwlock4.c
-nptl/tst-rwlock5.c
-nptl/tst-rwlock6.c
-nptl/tst-rwlock7.c
-nptl/tst-rwlock8.c
-nptl/tst-rwlock9.c
-nptl/tst-sched1.c
-nptl/tst-sem1.c
-nptl/tst-sem2.c
-nptl/tst-sem3.c
-nptl/tst-sem4.c
-nptl/tst-sem5.c
-nptl/tst-sem6.c
-nptl/tst-sem7.c
-nptl/tst-sem8.c
-nptl/tst-sem9.c
-nptl/tst-setuid1-static.c
-nptl/tst-setuid1.c
-nptl/tst-signal1.c
-nptl/tst-signal2.c
-nptl/tst-signal3.c
-nptl/tst-signal4.c
-nptl/tst-signal5.c
-nptl/tst-signal6.c
-nptl/tst-spin1.c
-nptl/tst-spin2.c
-nptl/tst-spin3.c
-nptl/tst-stack1.c
-nptl/tst-stack2.c
-nptl/tst-stack3.c
-nptl/tst-stdio1.c
-nptl/tst-stdio2.c
-nptl/tst-sysconf.c
-nptl/tst-tls1.c
-nptl/tst-tls2.c
-nptl/tst-tls3.c
-nptl/tst-tls3mod.c
-nptl/tst-tls4.c
-nptl/tst-tls4moda.c
-nptl/tst-tls4modb.c
-nptl/tst-tls5.c
-nptl/tst-tls5.h
-nptl/tst-tls5mod.c
-nptl/tst-tls5moda.c
-nptl/tst-tls5modb.c
-nptl/tst-tls5modc.c
-nptl/tst-tls5modd.c
-nptl/tst-tls5mode.c
-nptl/tst-tls5modf.c
-nptl/tst-tls6.sh
-nptl/tst-tsd1.c
-nptl/tst-tsd2.c
-nptl/tst-tsd3.c
-nptl/tst-tsd4.c
-nptl/tst-tsd5.c
-nptl/tst-umask1.c
-nptl/tst-unload.c
-nptl/tst-vfork1.c
-nptl/tst-vfork1x.c
-nptl/tst-vfork2.c
-nptl/tst-vfork2x.c
-nptl/version.c
-nptl_db/ChangeLog
-nptl_db/shlib-versions

Copied: trunk/uClibc/libpthread/linuxthreads/pthread.c-OLDEXAMPLE (from rev 11720, trunk/uClibc/libpthread/pthread.c)

Deleted: trunk/uClibc/libpthread/pthread.c
===================================================================
--- trunk/uClibc/libpthread/pthread.c	2005-10-03 23:53:53 UTC (rev 11737)
+++ trunk/uClibc/libpthread/pthread.c	2005-10-04 00:05:37 UTC (rev 11738)
@@ -1,121 +0,0 @@
-/* vi: set sw=4 ts=4: */
-/*
- * A _very_ simple clone based pthread-like implementation
- *
- * Copyright (C) 2001,2002 by Erik Andersen <andersee at debian.org>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Library General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include <stdlib.h>
-#include <sched.h>
-#include <signal.h>
-#include <errno.h>
-#include <unistd.h>
-#include <pthread.h>
-
-#define STACKSIZE 8096
-
-#define CSIGNAL         0x000000ff      /* signal mask to be sent at exit */
-#define CLONE_VM        0x00000100      /* set if VM shared between processes */
-#define CLONE_FS        0x00000200      /* set if fs info shared between proces ses */
-#define CLONE_FILES     0x00000400      /* set if open files shared between pro cesses */
-#define CLONE_SIGHAND   0x00000800      /* set if signal handlers shared */
-
-
-
-/* Lame home-grown clone based threading */
-int pthread_mutex_init (pthread_mutex_t *mutex, const pthread_mutexattr_t *mutex_attr)
-{
-    mutex->__m_lock.__spinlock = 1;
-	return 0;
-}
-
-int pthread_mutex_lock (pthread_mutex_t *mutex)
-{
-	while (mutex->__m_lock.__spinlock == 0) {
-		usleep(10000);
-	}
-	--(mutex->__m_lock.__spinlock);
-	return 0;
-}
-
-int pthread_mutex_unlock (pthread_mutex_t *mutex)
-{
-    ++(mutex->__m_lock.__spinlock);
-	return 0;
-}
-
-int pthread_cond_wait (pthread_cond_t *cond, pthread_mutex_t *mutex)
-{
-	++(mutex->__m_lock.__spinlock);
-	while (cond->__c_lock.__spinlock == 0) {
-		usleep(10000);
-	}
-	--(cond->__c_lock.__spinlock);
-	return 0;
-}
-
-int pthread_cond_signal(pthread_cond_t *cond)
-{
-    ++(cond->__c_lock.__spinlock);
-	return 0;
-}
-
-int pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *cond_attr)
-{
-    cond->__c_lock.__spinlock = 1;
-	return 0;
-}
-
-int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void* (*fn)(void *), void *data)
-{
-	long retval;
-	void **newstack;
-	int (*clonefunc)(void *) = (int (*)(void *))(fn);
-
-	newstack = (void **) malloc(STACKSIZE);
-	if (!newstack)
-		return -1;
-	newstack = (void **) (STACKSIZE + (char *) newstack);
-	*--newstack = data;
-	retval = clone(clonefunc, newstack, 
-			CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | SIGCHLD, data);  
-	if (retval < 0) {
-		errno = -retval;
-		*thread = 0;
-		retval = -1;
-	} else {
-		*thread = retval;
-		retval = 0;
-	}
-	return retval;
-}
-
-int pthread_join (pthread_t thread, void **thread_return)
-{
-	int retval;
-	/* Fixme -- wait for thread and get its return value */
-	retval = EXIT_SUCCESS;
-	if (thread_return)
-		(int)*thread_return = retval;
-	_exit(retval);
-}
-link_warning(pthread_join, "pthread_join is a stub and does not behave properly");
-
-void pthread_exit (void *retval)
-{
-	_exit(*(int *)retval);
-}




More information about the uClibc-cvs mailing list