diff --git a/ChangeLog b/ChangeLog index cbb2f93c0e..4d02e81937 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 1998-07-07 Ulrich Drepper + * sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h: Add + __ino64_t definition. * sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h: Define __off64_t. Reported by Felix von Leitner . diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index 83c98565a2..c149bdde9c 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,13 @@ +1998-07-07 15:20 Ulrich Drepper + + * Makefile: Add rules to compile and run tests. + * Examples/ex1.c: Little changes to fix warnings. + * Examples/ex2.c: Likewise. + * Examples/ex3.c: Likewise. + * Examples/ex4.c: Likewise. + * Examples/ex5.c: Likewise. + * Examples/ex6.c: New file. + 1998-07-05 11:54 Ulrich Drepper * Versions: Add pthread_attr_init to GLIBC_2.1 version in libc. diff --git a/linuxthreads/Examples/ex1.c b/linuxthreads/Examples/ex1.c index c399fab894..f455ecfaf0 100644 --- a/linuxthreads/Examples/ex1.c +++ b/linuxthreads/Examples/ex1.c @@ -17,15 +17,15 @@ void * process(void * arg) return NULL; } -int main() +int main(void) { int retcode; pthread_t th_a, th_b; void * retval; - retcode = pthread_create(&th_a, NULL, process, "a"); + retcode = pthread_create(&th_a, NULL, process, (void *) "a"); if (retcode != 0) fprintf(stderr, "create a failed %d\n", retcode); - retcode = pthread_create(&th_b, NULL, process, "b"); + retcode = pthread_create(&th_b, NULL, process, (void *) "b"); if (retcode != 0) fprintf(stderr, "create b failed %d\n", retcode); retcode = pthread_join(th_a, &retval); if (retcode != 0) fprintf(stderr, "join a failed %d\n", retcode); @@ -33,4 +33,3 @@ int main() if (retcode != 0) fprintf(stderr, "join b failed %d\n", retcode); return 0; } - diff --git a/linuxthreads/Examples/ex2.c b/linuxthreads/Examples/ex2.c index 3f7f115fda..70cb6b3986 100644 --- a/linuxthreads/Examples/ex2.c +++ b/linuxthreads/Examples/ex2.c @@ -97,7 +97,7 @@ void * consumer(void * data) return NULL; } -int main() +int main(void) { pthread_t th_a, th_b; void * retval; @@ -111,6 +111,3 @@ int main() pthread_join(th_b, &retval); return 0; } - - - diff --git a/linuxthreads/Examples/ex3.c b/linuxthreads/Examples/ex3.c index 002bc9042a..7557cc7983 100644 --- a/linuxthreads/Examples/ex3.c +++ b/linuxthreads/Examples/ex3.c @@ -1,6 +1,7 @@ /* Multi-thread searching. Illustrates: thread cancellation, cleanup handlers. */ +#include #include #include #include @@ -19,9 +20,7 @@ pthread_t threads[NUM_THREADS]; pthread_mutex_t lock; int tries; -int main(argc, argv) - int argc; - char ** argv; +int main(int argc, char ** argv) { int i; int pid; @@ -31,14 +30,14 @@ int main(argc, argv) printf("Searching for the number = %d...\n", pid); /* Initialize the mutex lock */ - pthread_mutex_init(&lock, NULL); + pthread_mutex_init(&lock, NULL); /* Create the searching threads */ for (i=0; i +#include +#include +#include + +void * +test_thread (void *v_param) +{ + return NULL; +} + +int +main (void) +{ + unsigned long count; + + for (count = 0; count < 2000; ++count) + { + pthread_t thread; + int status; + + status = pthread_create (&thread, NULL, test_thread, NULL); + if (status != 0) + { + printf ("status = %d, count = %lu: %s\n", status, count, + strerror (errno)); + return 1; + } + else + { + printf ("count = %lu\n", count); + } + /* pthread_detach (thread); */ + pthread_join (thread, NULL); + usleep (50); + } + return 0; +} diff --git a/linuxthreads/Makefile b/linuxthreads/Makefile index da92138111..b7444e7e4e 100644 --- a/linuxthreads/Makefile +++ b/linuxthreads/Makefile @@ -35,9 +35,20 @@ libpthread-routines := attr cancel condvar join manager mutex ptfork \ ptlongjmp pthread signals specific errno lockfile \ semaphore spinlock wrapsyscall rwlock +vpath %.c Examples +tests = ex1 ex2 ex3 ex4 ex5 ex6 + include ../Rules # Depend on libc.so so a DT_NEEDED is generated in the shared objects. # This ensures they will load libc.so for needed symbols if loaded by # a statically-linked program that hasn't already loaded it. $(objpfx)libpthread.so: $(common-objpfx)libc.so + +# Make sure we link with the thread library. +$(objpfx)ex1: $(objpfx)libpthread.so +$(objpfx)ex2: $(objpfx)libpthread.so +$(objpfx)ex3: $(objpfx)libpthread.so +$(objpfx)ex4: $(objpfx)libpthread.so +$(objpfx)ex5: $(objpfx)libpthread.so +$(objpfx)ex6: $(objpfx)libpthread.so diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h b/sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h index 6a4133da20..88638143d6 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h @@ -49,6 +49,7 @@ typedef __u_long __dev_t; /* Type of device numbers. */ typedef __u_int __uid_t; /* Type of user identifications. */ typedef __u_int __gid_t; /* Type of group identifications. */ typedef __u_long __ino_t; /* Type of file serial numbers. */ +typedef __u_long __ino64_t; /* Type of file serial numbers. */ typedef __u_int __mode_t; /* Type of file attribute bitmasks. */ typedef __u_int __nlink_t; /* Type of file link counts. */ typedef long int __off_t; /* Type of file sizes and offsets. */