move aio implementation details to a proper internal header
authorRich Felker <dalias@aerifal.cx>
Mon, 28 Sep 2020 22:47:13 +0000 (18:47 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 15 Oct 2020 00:27:12 +0000 (20:27 -0400)
also fix the lack of declaration (and thus hidden visibility) in
__stdio_close's use of __aio_close.

src/aio/aio.c
src/aio/aio_suspend.c
src/include/unistd.h
src/internal/aio_impl.h [new file with mode: 0644]
src/internal/pthread_impl.h
src/process/_Fork.c
src/stdio/__stdio_close.c
src/unistd/close.c

index f59679c..b488e3d 100644 (file)
@@ -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
index 34b66f8..1c1060e 100644 (file)
@@ -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)
 {
index 1b4605c..7b52a92 100644 (file)
@@ -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
diff --git a/src/internal/aio_impl.h b/src/internal/aio_impl.h
new file mode 100644 (file)
index 0000000..a865766
--- /dev/null
@@ -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
index 394dcb1..1322a6a 100644 (file)
@@ -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 *);
index 1f41197..da06386 100644 (file)
@@ -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);
index 79452bd..3029132 100644 (file)
@@ -1,4 +1,5 @@
 #include "stdio_impl.h"
+#include "aio_impl.h"
 
 static int dummy(int fd)
 {
index 5b38e01..a2105f5 100644 (file)
@@ -1,5 +1,6 @@
 #include <unistd.h>
 #include <errno.h>
+#include "aio_impl.h"
 #include "syscall.h"
 
 static int dummy(int fd)