summaryrefslogtreecommitdiff
path: root/lib/libc/aio
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/aio')
-rw-r--r--lib/libc/aio/aio.c21
-rw-r--r--lib/libc/aio/aio_cancel.c19
-rw-r--r--lib/libc/aio/aio_error.c8
-rw-r--r--lib/libc/aio/aio_fsync.c12
-rw-r--r--lib/libc/aio/aio_read.c10
-rw-r--r--lib/libc/aio/aio_return.c10
-rw-r--r--lib/libc/aio/aio_suspend.c26
-rw-r--r--lib/libc/aio/aio_write.c10
-rw-r--r--lib/libc/aio/lio_listio.c21
9 files changed, 76 insertions, 61 deletions
diff --git a/lib/libc/aio/aio.c b/lib/libc/aio/aio.c
index 0ca2ec64..204f2296 100644
--- a/lib/libc/aio/aio.c
+++ b/lib/libc/aio/aio.c
@@ -1,10 +1,14 @@
-#include <__aio.h>
-#include <io_uring.h>
-#include <signal.h>
-#include <stdint.h>
-#include <string.h>
-#include <sys/mman.h>
-#include <unistd.h>
+#include "aio.h" // for aiocb
+#include "linux/io_uring.h" // for io_uring_sqe, io_uring_cqe, io_uring_sqe...
+#include "stddef.h" // for NULL
+
+#include <__aio.h> // for aio_request, aio_context, lio_group, AIO...
+#include <aio.h> // for sigevent
+#include <io_uring.h> // for __io_uring, io_uring, io_uring_cq, io_ur...
+#include <signal.h> // for kill, SIGEV_SIGNAL, SIGEV_THREAD
+#include <stdint.h> // for uint64_t
+#include <string.h> // for memset
+#include <unistd.h> // for getpid, write
struct aio_context __aio_context = { 0 };
@@ -103,8 +107,7 @@ void __aio_poll(void)
unsigned tail = *__io_uring.cq.tail;
while (head != tail) {
- struct io_uring_cqe *cqe =
- &__io_uring.cq.cqes[head & *__io_uring.cq.ring_mask];
+ struct io_uring_cqe *cqe = &__io_uring.cq.cqes[head & *__io_uring.cq.ring_mask];
struct aio_request *req = (struct aio_request *)cqe->user_data;
diff --git a/lib/libc/aio/aio_cancel.c b/lib/libc/aio/aio_cancel.c
index b4d373bf..5bb340db 100644
--- a/lib/libc/aio/aio_cancel.c
+++ b/lib/libc/aio/aio_cancel.c
@@ -1,11 +1,14 @@
-#include <__aio.h>
-#include <errno.h>
-#include <io_uring.h>
-#include <stddef.h>
-#include <stdint.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/cdefs.h>
+#include "aio.h" // for AIO_ALLDONE, AIO_CANCELED, aio_cancel
+#include "linux/io_uring.h" // for io_uring_sqe, IORING_ENTER_GETEVENTS
+
+#include <__aio.h> // for __aio_lookup, __aio_remove, AIO_REQUEST_...
+#include <errno.h> // for EINVAL, errno
+#include <io_uring.h> // for __io_uring, io_uring, io_uring_sq, IO_UR...
+#include <stddef.h> // for NULL
+#include <stdint.h> // for uint64_t
+#include <stdlib.h> // for free
+#include <string.h> // for memset
+#include <sys/cdefs.h> // for __unused
int aio_cancel(int __unused fildes, struct aiocb *aiocbp)
{
diff --git a/lib/libc/aio/aio_error.c b/lib/libc/aio/aio_error.c
index 27c7f134..9f7d05ca 100644
--- a/lib/libc/aio/aio_error.c
+++ b/lib/libc/aio/aio_error.c
@@ -1,6 +1,8 @@
-#include <__aio.h>
-#include <errno.h>
-#include <stddef.h>
+#include "aio.h" // for aio_error, aiocb (ptr only)
+
+#include <__aio.h> // for aio_request, __aio_lookup, AIO_REQUEST_STATUS_PE...
+#include <errno.h> // for EINVAL, errno, EINPROGRESS
+#include <stddef.h> // for NULL
int aio_error(const struct aiocb *aiocbp)
{
diff --git a/lib/libc/aio/aio_fsync.c b/lib/libc/aio/aio_fsync.c
index 00d56b42..2b06ba8f 100644
--- a/lib/libc/aio/aio_fsync.c
+++ b/lib/libc/aio/aio_fsync.c
@@ -1,8 +1,10 @@
-#include <__aio.h>
-#include <aio.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <io_uring.h>
+#include "linux/io_uring.h" // for io_uring_op, IORING_FSYNC_DATASYNC
+#include "stddef.h" // for NULL
+
+#include <__aio.h> // for __aio_lookup, __aio_request
+#include <aio.h> // for aio_fsync
+#include <errno.h> // for EINVAL, errno
+#include <fcntl.h> // for O_DSYNC
int aio_fsync(int op, struct aiocb *aiocbp)
{
diff --git a/lib/libc/aio/aio_read.c b/lib/libc/aio/aio_read.c
index 286b2d02..150f8b0e 100644
--- a/lib/libc/aio/aio_read.c
+++ b/lib/libc/aio/aio_read.c
@@ -1,7 +1,9 @@
-#include <__aio.h>
-#include <aio.h>
-#include <io_uring.h>
-#include <stdlib.h>
+#include "linux/io_uring.h" // for io_uring_op
+#include "stddef.h" // for NULL
+
+#include <__aio.h> // for __aio_request, aio_request
+#include <aio.h> // for aio_read
+#include <stdlib.h> // for malloc
int aio_read(struct aiocb *aiocbp)
{
diff --git a/lib/libc/aio/aio_return.c b/lib/libc/aio/aio_return.c
index 45b0d795..a19d355a 100644
--- a/lib/libc/aio/aio_return.c
+++ b/lib/libc/aio/aio_return.c
@@ -1,7 +1,9 @@
-#include <__aio.h>
-#include <errno.h>
-#include <stddef.h>
-#include <stdlib.h>
+#include "aio.h" // for ssize_t, aio_return, aiocb (ptr only)
+
+#include <__aio.h> // for __aio_remove, aio_request, AIO_REQUEST_STATUS_PE...
+#include <errno.h> // for EINVAL, errno
+#include <stddef.h> // for NULL
+#include <stdlib.h> // for free
ssize_t aio_return(struct aiocb *aiocbp)
{
diff --git a/lib/libc/aio/aio_suspend.c b/lib/libc/aio/aio_suspend.c
index 939b9d6b..89afe9fd 100644
--- a/lib/libc/aio/aio_suspend.c
+++ b/lib/libc/aio/aio_suspend.c
@@ -1,14 +1,16 @@
-#include <__aio.h>
-#include <aio.h>
-#include <errno.h>
-#include <io_uring.h>
-#include <poll.h>
-#include <stdint.h>
+#include "linux/io_uring.h" // for IORING_ENTER_GETEVENTS
+#include "stddef.h" // for NULL
+
+#include <__aio.h> // for __aio_lookup, __aio_poll, AIO_REQUEST_ST...
+#include <aio.h> // for timespec, aio_suspend
+#include <errno.h> // for errno, EAGAIN, EINVAL
+#include <io_uring.h> // for __io_uring, io_uring, io_uring_enter
+#include <poll.h> // for pollfd, poll, POLLIN
+#include <stdint.h> // for uint64_t
#include <time.h>
-#include <unistd.h>
+#include <unistd.h> // for read
-int aio_suspend(const struct aiocb *const list[], int nent,
- const struct timespec *timeout)
+int aio_suspend(const struct aiocb *const list[], int nent, const struct timespec *timeout)
{
struct pollfd pfd;
struct aio_request *req;
@@ -32,8 +34,7 @@ int aio_suspend(const struct aiocb *const list[], int nent,
pfd.events = POLLIN;
if (timeout) {
- timeout_ms = timeout->tv_sec * 1000 +
- timeout->tv_nsec / 1000000;
+ timeout_ms = timeout->tv_sec * 1000 + timeout->tv_nsec / 1000000;
} else {
timeout_ms = -1;
}
@@ -51,7 +52,6 @@ int aio_suspend(const struct aiocb *const list[], int nent,
uint64_t val;
read(__io_uring.eventfd, &val, sizeof(val));
- io_uring_enter(__io_uring.fd, 0, 0, IORING_ENTER_GETEVENTS,
- NULL, 0);
+ io_uring_enter(__io_uring.fd, 0, 0, IORING_ENTER_GETEVENTS, NULL, 0);
}
}
diff --git a/lib/libc/aio/aio_write.c b/lib/libc/aio/aio_write.c
index 4254fdcd..9315296e 100644
--- a/lib/libc/aio/aio_write.c
+++ b/lib/libc/aio/aio_write.c
@@ -1,7 +1,9 @@
-#include <__aio.h>
-#include <aio.h>
-#include <io_uring.h>
-#include <stdlib.h>
+#include "linux/io_uring.h" // for io_uring_op
+#include "stddef.h" // for NULL
+
+#include <__aio.h> // for __aio_request, aio_request
+#include <aio.h> // for aio_write
+#include <stdlib.h> // for malloc
int aio_write(struct aiocb *aiocbp)
{
diff --git a/lib/libc/aio/lio_listio.c b/lib/libc/aio/lio_listio.c
index 0a345c16..3011268e 100644
--- a/lib/libc/aio/lio_listio.c
+++ b/lib/libc/aio/lio_listio.c
@@ -1,15 +1,14 @@
-#include <__aio.h>
-#include <aio.h>
-#include <errno.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/eventfd.h>
-#include <unistd.h>
-#include <stdint.h>
+#include <__aio.h> // for lio_group, __aio_lookup, aio_request
+#include <aio.h> // for LIO_NOWAIT, aio_read, aio_write, LIO_NOP
+#include <errno.h> // for errno, EINVAL, EIO
+#include <stddef.h> // for NULL
+#include <stdint.h> // for uint64_t
+#include <stdlib.h> // for malloc
+#include <string.h> // for memset
+#include <sys/eventfd.h> // for eventfd, EFD_CLOEXEC
+#include <unistd.h> // for read
-int lio_listio(int mode, struct aiocb *restrict const list[restrict], int nent,
- struct sigevent *restrict sig)
+int lio_listio(int mode, struct aiocb *restrict const list[restrict], int nent, struct sigevent *restrict sig)
{
struct lio_group *grp = NULL;