Browse Source

move aio implementation details to a proper internal header

also fix the lack of declaration (and thus hidden visibility) in
__stdio_close's use of __aio_close.
Rich Felker 4 years ago
parent
commit
557673603b

+ 1 - 0
src/aio/aio.c

@@ -9,6 +9,7 @@
 #include "syscall.h"
 #include "atomic.h"
 #include "pthread_impl.h"
+#include "aio_impl.h"
 
 /* The following is a threads-based implementation of AIO with minimal
  * dependence on implementation details. Most synchronization is

+ 1 - 0
src/aio/aio_suspend.c

@@ -3,6 +3,7 @@
 #include <time.h>
 #include "atomic.h"
 #include "pthread_impl.h"
+#include "aio_impl.h"
 
 int aio_suspend(const struct aiocb *const cbs[], int cnt, const struct timespec *ts)
 {

+ 0 - 1
src/include/unistd.h

@@ -8,7 +8,6 @@ extern char **__environ;
 hidden int __dup3(int, int, int);
 hidden int __mkostemps(char *, int, int);
 hidden int __execvpe(const char *, char *const *, char *const *);
-hidden int __aio_close(int);
 hidden off_t __lseek(int, off_t, int);
 
 #endif

+ 9 - 0
src/internal/aio_impl.h

@@ -0,0 +1,9 @@
+#ifndef AIO_IMPL_H
+#define AIO_IMPL_H
+
+extern hidden volatile int __aio_fut;
+
+extern hidden int __aio_close(int);
+extern hidden void __aio_atfork(int);
+
+#endif

+ 0 - 3
src/internal/pthread_impl.h

@@ -154,11 +154,8 @@ hidden int __pthread_key_delete_impl(pthread_key_t);
 
 extern hidden volatile size_t __pthread_tsd_size;
 extern hidden void *__pthread_tsd_main[];
-extern hidden volatile int __aio_fut;
 extern hidden volatile int __eintr_valid_flag;
 
-extern hidden void __aio_atfork(int);
-
 hidden int __clone(int (*)(void *), void *, int, void *, ...);
 hidden int __set_thread_area(void *);
 hidden int __libc_sigaction(int, const struct sigaction *, struct sigaction *);

+ 1 - 0
src/process/_Fork.c

@@ -4,6 +4,7 @@
 #include "libc.h"
 #include "lock.h"
 #include "pthread_impl.h"
+#include "aio_impl.h"
 
 static void dummy(int x) { }
 weak_alias(dummy, __aio_atfork);

+ 1 - 0
src/stdio/__stdio_close.c

@@ -1,4 +1,5 @@
 #include "stdio_impl.h"
+#include "aio_impl.h"
 
 static int dummy(int fd)
 {

+ 1 - 0
src/unistd/close.c

@@ -1,5 +1,6 @@
 #include <unistd.h>
 #include <errno.h>
+#include "aio_impl.h"
 #include "syscall.h"
 
 static int dummy(int fd)