Browse Source

use __typeof for all __libc_x prototypes, do not need __sigaction/__vfork

Peter S. Mazinger 18 years ago
parent
commit
1a90c75e47

+ 5 - 6
libpthread/linuxthreads.old/internals.h

@@ -504,12 +504,11 @@ extern void (*__pthread_suspend)(pthread_descr);
 
 /* Prototypes for the function without cancelation support when the
    normal version has it.  */
-extern int __libc_close (int fd);
-extern int __libc_nanosleep (const struct timespec *requested_time,
-			     struct timespec *remaining);
-extern ssize_t __libc_read (int fd, void *buf, size_t count);
-extern pid_t __libc_waitpid (pid_t pid, int *stat_loc, int options);
-extern ssize_t __libc_write (int fd, const void *buf, size_t count);
+extern __typeof(close) __libc_close;
+extern __typeof(nanosleep) __libc_nanosleep;
+extern __typeof(read) __libc_read;
+extern __typeof(waitpid) __libc_waitpid;
+extern __typeof(write) __libc_write;
 
 /* Prototypes for some of the new semaphore functions.  */
 extern int __new_sem_post (sem_t * sem);

+ 1 - 2
libpthread/linuxthreads.old/ptfork.c

@@ -103,11 +103,10 @@ pid_t attribute_hidden __fork(void)
 }
 strong_alias(__fork,fork)
 
-pid_t attribute_hidden __vfork(void)
+pid_t vfork(void)
 {
   return __fork();
 }
-strong_alias(__vfork,vfork)
 
 #else
 

+ 2 - 3
libpthread/linuxthreads.old/signals.c

@@ -24,7 +24,7 @@
 #include <bits/sigcontextinfo.h>
 
 /* mods for uClibc: __libc_sigaction is not in any standard headers */
-extern int __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact);
+extern __typeof(sigaction) __libc_sigaction;
 
 int pthread_sigmask(int how, const sigset_t * newmask, sigset_t * oldmask)
 {
@@ -131,7 +131,7 @@ static void pthread_sighandler_rt(int signo, struct siginfo *si,
 
 /* The wrapper around sigaction.  Install our own signal handler
    around the signal. */
-int __sigaction(int sig, const struct sigaction * act,
+int sigaction(int sig, const struct sigaction * act,
               struct sigaction * oact)
 {
   struct sigaction newact;
@@ -175,7 +175,6 @@ printf(__FUNCTION__": sighandler installed, __sigaction successful\n");
     }
   return 0;
 }
-strong_alias(__sigaction, sigaction)
 
 /* A signal handler that does nothing */
 static void pthread_null_sighandler(int sig attribute_unused) { }