/* aio-io_detroy.c * gcc -Wall -g -o aio-io_destroy aio-io_destroy.c -laio */ #define _GNU_SOURCE 1 #include #include #include #include #include #include #include #include #include #include io_context_t ctx = 0; int main (int argc, char *argv[]) { struct io_event event; struct timespec ts; char *file = NULL; int events = 64; //65536 unsigned i; int err; err = io_setup(events, &ctx); if (err) { fprintf(stderr, "io_setup(): %d => %s\n", err, strerror(-err)); return 2; } ts.tv_sec = -1L; ts.tv_nsec = 0; err = io_getevents(ctx, 1, 1, &event, &ts); if (err) { fprintf(stderr, "first io_destroy(): %d => %s\n", err, strerror(-err)); } ts.tv_sec = 0; ts.tv_nsec = -1L; err = io_getevents(ctx, 1, 1, &event, &ts); if (err) { fprintf(stderr, "second io_destroy(): %d => %s\n", err, strerror(-err)); } ts.tv_sec = 0; ts.tv_nsec = 1000000000; err = io_getevents(ctx, 1, 1, &event, &ts); if (err) { fprintf(stderr, "third io_destroy(): %d => %s\n", err, strerror(-err)); } ts.tv_sec = (1LL << 63) - 1; ts.tv_nsec = 0; err = io_getevents(ctx, 1, 1, &event, &ts); if (err) { fprintf(stderr, "fourth io_destroy(): %d => %s\n", err, strerror(-err)); } return 0; }