POSIX Asynchronous I/O support: other files

Updates to misc files to integrate AIO into the Cygwin source tree.
Much of it has to be done when adding any new syscalls.  There are
some updates to limits.h for AIO-specific limits.  And some doc mods.
This commit is contained in:
Mark Geisert 2018-07-23 22:31:59 -07:00 committed by Corinna Vinschen
parent 87253cbe38
commit 7f32efbf73
10 changed files with 44 additions and 26 deletions

View File

@ -249,6 +249,7 @@ MATH_OFILES:= \
DLL_OFILES:= \
advapi32.o \
aio.o \
arc4random_stir.o \
assert.o \
autoload.o \

View File

@ -195,6 +195,13 @@ acosh NOSIGFE
acoshf NOSIGFE
acoshl NOSIGFE
acosl NOSIGFE
aio_cancel SIGFE
aio_error NOSIGFE
aio_fsync SIGFE
aio_read SIGFE
aio_return NOSIGFE
aio_suspend SIGFE
aio_write SIGFE
alarm SIGFE
aligned_alloc SIGFE
alphasort NOSIGFE
@ -843,6 +850,7 @@ lgammal_r NOSIGFE
lgetxattr SIGFE
link SIGFE
linkat SIGFE
lio_listio SIGFE
listen = cygwin_listen SIGFE
listxattr SIGFE
llabs NOSIGFE

View File

@ -494,14 +494,16 @@ details. */
323: scanf %l[ conversion.
324: Export sigtimedwait.
325: Export catclose, catgets, catopen.
326: Export clearenv
326: Export clearenv.
327: Export pthread_tryjoin_np, pthread_timedjoin_np.
328: Export aio_cancel, aio_error, aio_fsync, aio_read, aio_return,
aio_suspend, aio_write, lio_listio.
Note that we forgot to bump the api for ualarm, strtoll, strtoull,
sigaltstack, sethostname. */
#define CYGWIN_VERSION_API_MAJOR 0
#define CYGWIN_VERSION_API_MINOR 327
#define CYGWIN_VERSION_API_MINOR 328
/* There is also a compatibity version number associated with the shared memory
regions. It is incremented when incompatible changes are made to the shared

View File

@ -147,7 +147,7 @@ details. */
/* Runtime Invariant Values */
/* Please note that symbolic names shall be ommited, on specific
/* Please note that symbolic names shall be omitted, on specific
implementations where the corresponding value is equal to or greater
than the stated minimum, but is unspecified. This indetermination
might depend on the amount of available memory space on a specific
@ -155,19 +155,16 @@ details. */
a specific instance shall be provided by the sysconf() function. */
/* Maximum number of I/O operations in a single list I/O call supported by
the implementation. Not yet implemented. */
#undef AIO_LISTIO_MAX
/* #define AIO_LISTIO_MAX >= _POSIX_AIO_LISTIO_MAX */
the implementation. */
#define AIO_LISTIO_MAX 32
/* Maximum number of outstanding asynchronous I/O operations supported by
the implementation. Not yet implemented. */
#undef AIO_MAX
/* #define AIO_MAX >= _POSIX_AIO_MAX */
the implementation. */
#define AIO_MAX 8
/* The maximum amount by which a process can decrease its asynchronous I/O
priority level from its own scheduling priority. */
#undef AIO_PRIO_DELTA_MAX
/* #define AIO_PRIO_DELTA_MAX >= 0 */
priority level from its own scheduling priority. Not yet implemented. */
#define AIO_PRIO_DELTA_MAX 0
/* Maximum number of bytes in arguments and environment passed in an exec
call. 32000 is the safe value used for Windows processes when called

View File

@ -3,6 +3,10 @@ What's new:
- New API: clearenv, pthread_tryjoin_np, pthread_timedjoin_np.
- New APIs: aio_cancel, aio_error, aio_fsync, aio_read, aio_return,
aio_suspend, aio_write, lio_listio.
New header: <aio.h>.
What changed:
-------------

View File

@ -541,9 +541,9 @@ static struct
{cons, {c:_POSIX_SHARED_MEMORY_OBJECTS}}, /* 31, _SC_SHARED_MEMORY_OBJECTS */
{cons, {c:_POSIX_SYNCHRONIZED_IO}}, /* 32, _SC_SYNCHRONIZED_IO */
{cons, {c:_POSIX_TIMERS}}, /* 33, _SC_TIMERS */
{nsup, {c:0}}, /* 34, _SC_AIO_LISTIO_MAX */
{nsup, {c:0}}, /* 35, _SC_AIO_MAX */
{nsup, {c:0}}, /* 36, _SC_AIO_PRIO_DELTA_MAX */
{cons, {c:AIO_LISTIO_MAX}}, /* 34, _SC_AIO_LISTIO_MAX */
{cons, {c:AIO_MAX}}, /* 35, _SC_AIO_MAX */
{cons, {c:AIO_PRIO_DELTA_MAX}}, /* 36, _SC_AIO_PRIO_DELTA_MAX */
{nsup, {c:0}}, /* 37, _SC_DELAYTIMER_MAX */
{cons, {c:PTHREAD_KEYS_MAX}}, /* 38, _SC_THREAD_KEYS_MAX */
{cons, {c:PTHREAD_STACK_MIN}}, /* 39, _SC_THREAD_STACK_MIN */

View File

@ -663,7 +663,7 @@ pthread::cancel ()
Required cancellation points:
* accept ()
o aio_suspend ()
* aio_suspend ()
* clock_nanosleep ()
* close ()
* connect ()
@ -839,7 +839,7 @@ pthread::cancel ()
ioctl ()
link ()
linkat ()
o lio_listio ()
* lio_listio ()
localtime ()
localtime_r ()
* lockf ()

View File

@ -20,6 +20,12 @@ SO_RCVTIMEO and SO_SNDTIMEO socket options are now honored.
New API: clearenv, pthread_tryjoin_np, pthread_timedjoin_np.
</para></listitem>
<listitem><para>
New APIs for POSIX Asynchronous I/O: aio_cancel, aio_error, aio_fsync,
aio_read, aio_return, aio_suspend, aio_write, lio_listio.
New Header: &lt;aio.h&gt;.
</para></listitem>
</itemizedlist>
</sect2>

View File

@ -32,6 +32,13 @@ also IEEE Std 1003.1-2008 (POSIX.1-2008).</para>
acoshf
acoshl
acosl
aio_cancel
aio_error
aio_fsync
aio_read
aio_return
aio_suspend
aio_write
alarm
alphasort
asctime
@ -491,6 +498,7 @@ also IEEE Std 1003.1-2008 (POSIX.1-2008).</para>
lgammal
link
linkat
lio_listio
listen
llabs
lldiv
@ -1556,13 +1564,6 @@ also IEEE Std 1003.1-2008 (POSIX.1-2008).</para>
<sect1 id="std-notimpl"><title>NOT implemented system interfaces from the Single Unix Specification, Volume 4:</title>
<screen>
aio_cancel
aio_error
aio_fsync
aio_read
aio_return
aio_suspend
aio_write
endnetent
fattach
fmtmsg
@ -1575,7 +1576,6 @@ also IEEE Std 1003.1-2008 (POSIX.1-2008).</para>
getnetent
getpmsg
isastream
lio_listio
mlockall
munlockall
posix_mem_offset

View File

@ -985,7 +985,7 @@ Trace system calls and signals\n\
wm 0x000400 (_STRACE_WM) Trace Windows msgs (enable _strace_wm).\n\
sigp 0x000800 (_STRACE_SIGP) Trace signal and process handling.\n\
minimal 0x001000 (_STRACE_MINIMAL) Very minimal strace output.\n\
pthread 0x002000 (_STRACE_PTHREAD) Pthread calls.\n\
pthread 0x002000 (_STRACE_PTHREAD) Pthread calls.\n\
exitdump 0x004000 (_STRACE_EXITDUMP) Dump strace cache on exit.\n\
system 0x008000 (_STRACE_SYSTEM) Serious error; goes to console and log.\n\
nomutex 0x010000 (_STRACE_NOMUTEX) Don't use mutex for synchronization.\n\