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.
This commit is contained in:
Rich Felker 2020-09-28 18:47:13 -04:00
parent 3733766083
commit 557673603b
8 changed files with 14 additions and 4 deletions

View 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

View 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)
{

View 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

9
src/internal/aio_impl.h Normal file
View file

@ -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

View 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 *);

View 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);

View file

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

View file

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