aio_init − asynchronous I/O initialization


#define _GNU_SOURCE /* See feature_test_macros(7) */
#include <aio.h>

void aio_init(const struct aioinit *init);

Link with −lrt.


The GNU-specific aio_init() function allows the caller to provide tuning hints to the glibc POSIX AIO implementation. Use of this function is optional, but to be effective, it must be called before employing any other functions in the POSIX AIO API.

The tuning information is provided in the buffer pointed to by the argument init. This buffer is a structure of the following form:

struct aioinit {
int aio_threads; /* Maximum number of threads */
int aio_num; /* Number of expected simultaneous
requests */
int aio_locks; /* Not used */
int aio_usedba; /* Not used */
int aio_debug; /* Not used */
int aio_numusers; /* Not used */
int aio_idle_time; /* Number of seconds before idle thread
terminates (since glibc 2.2) */
int aio_reserved;

The following fields are used in the aioinit structure:


This field specifies the maximum number of worker threads that may be used by the implementation. If the number of outstanding I/O operations exceeds this limit, then excess operations will be queued until a worker thread becomes free. If this field is specified with a value less than 1, the value 1 is used. The default value is 20.


This field should specify the maximum number of simultaneous I/O requests that the caller expects to enqueue. If a value less than 32 is specified for this field, it is rounded up to 32. The default value is 64.


This field specifies the amount of time in seconds that a worker thread should wait for further requests before terminating, after having completed a previous request. The default value is 1.


The aio_init() function is available since glibc 2.1.


This function is a GNU extension.




This page is part of release 3.69 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at−pages/.

More Linux Commands

Ttk_GetPaddingFromObj(3) - Tk themed geometry utilities.....
The Ttk_Box structure represents a rectangular region of a window: typedef struct { int x; int y; int width; int height; } Ttk_Box; All coordinates are relative

wcpcpy(3) - copy a wide-character string, returning a pointe
The wcpcpy() function is the wide-character equivalent of the stpcpy(3) function. It copies the wide-character string pointed to by src, including the terminati

Mail::SpamAssassin::SQLBasedAddrList(3pm) - SpamAssassin SQL
A SQL based persistent address list implementation. See Mail::SpamAssassin::PersistentAddrList for more information. Uses DBI::DBD module access to your favorit

svcerr_weakauth(3) - library routines for remote procedure c
These routines allow C programs to make procedure calls on other machines across the network. First, the client calls a procedure to send a data packet to the s

ttk_image(n) - Define an element based on an image (ManPage)
The image element factory creates a new element in the current theme whose visual appearance is determined by Tk images. imageSpec is a list of one or more elem

XMapRaised(3) - map windows (Library - Linux man page)......
The XMapWindow function maps the window and all of its subwindows that have had map requests. Mapping a window that has an unmapped ancestor does not display th

pop3test(1) - interactive POP3 test program - Linux man page
pop3test is a utility that allows you to authenticate to a POP3 server and interactively issue commands to it. Once authenticated you may issue any POP3 command

gnutls_x509_crq_get_dn_by_oid(3) - API function (Man Page)
This function will extract the part of the name of the Certificate request subject, specified by the given OID. The output will be encoded as described in RFC22

TAILQ_ENTRY(3) implementations of lists, tail queues, and ci
These macros define and operate on three types of data structures: lists, tail queues, and circular queues. All three structures support the following functiona

atan2l(3) - arc tangent function of two variables (ManPage)
The atan2() function calculates the principal value of the arc tangent of y/x, using the signs of the two arguments to determine the quadrant of the result. RET

Net::SSLeay::Handle(3pm) - Perl module that lets SSL (HTTPS)
Net::SSLeay::Handle allows you to request and receive HTTPS web pages using old-fashion file handles as in: print SSL GET / HTTP/1.0\r\n; and print while (&lt;SSL&gt;

FcConfigBuildFonts(3) - Build font database - Linux man page
Builds the set of available fonts for the given configuration. Note that any changes to the configuration after this call have indeterminate effects. Returns Fc

We can't live, work or learn in freedom unless the software we use is free.