32 Commits (6d74052760ad74a6415c2e997081da36dbd11733)

Author SHA1 Message Date
leitner fc223dc725 recent kernel return POLLERR and then calling read returns EGAIN which
leads to busy loop. Try to work around.
3 years ago
leitner 07c3f0bf3d some crude attempt to fix mingw cross build 4 years ago
leitner 48f7fea2c1 first_deferred actually needs to be extern all the time, not just
my_extern
4 years ago
leitner 97368fbfa6 BSD build fix (hopefully)
move more #include to <libowfat/...>
6 years ago
leitner 3873bab74b add stralloc_APPEND
use atomic updates for iom->working
7 years ago
leitner f8c4132df0 add MSG_ZEROCOPY support (only used for buffers >8k) 7 years ago
leitner 1a53c2221a add deferral code 8 years ago
leitner b73a699dab reengineer alt queue handling to prevent race 8 years ago
leitner f9570b38a1 attempt to work around race condition when you close an fd but there are
still outstanding events queued on it.
8 years ago
leitner c60c2425ce hopefully fix the infinite loop in gatling 10 years ago
leitner a544abc39c switch io_fds from array to newly implemented (hopefully thread-safe) iarray
switch epoll from level triggering to edge triggering
11 years ago
leitner 4f1e1d300c make headers work in C++
add two more variable length integer encoding functions
13 years ago
leitner 928bfe5c09 for installed header files, add comment saying where they came from 15 years ago
leitner 84db4c0e24 windows fix 16 years ago
leitner dfe8c9aa27 oops 16 years ago
leitner 51202765fe the #define extern hack in io_fd.c also included time.h, fix that
catch case in timeout loop where we have something to report on an fd;
in that case do not report a timeout but let the other event get through
first.
16 years ago
leitner c1c50c7dbd further Windoze support (test/io5.c works, gatling still doesn't)
This is just to get gatling to work, I may remove it again after
    that.
19 years ago
leitner 9512cee614 add -D_REENTRANT to CFLAGS so libowfat can be used in multi-threaded
programs
20 years ago
leitner 9eb09b5bfe add iob_free and man page for iob_reset.
check in some windoze compat crap (still does not compile through for
windoze)
20 years ago
leitner 076a8f4628 explicitly define extern globals 21 years ago
leitner 1d9075071f add some man pages 21 years ago
leitner 27e01305cd forgot one "extern" 21 years ago
leitner a17f7c30d2 use mmap on BSD without sendfile 21 years ago
leitner 0a38894c43 *duh* one extra zero 21 years ago
leitner 82a4ae868d broken lose32 port using mingw (don't use!!!)
initial Solaris /dev/poll port
21 years ago
leitner 2a2e1ddc75 add sigio support
extend code to cope with edge triggered event notification
add io_eagain() so that you can notify io_wait if accept() returned EAGAIN
22 years ago
leitner ea8e1cc90b add iob_adds
add cookies to io
22 years ago
leitner d213018a01 more kqueue/epoll 22 years ago
leitner 325a6176ca write a small socket server with io_wait integration and add and debug
io framework enough to support the test program
22 years ago
leitner ef0495b5e2 reverse return code for safemult API to conform to newer djb APIs 22 years ago
leitner 63e070c1cb add long long buffer routines
add tai64 and tai6464 typedefs
add error message buffer routines
add io timeout routines
22 years ago
leitner 49818590ee beginnings of the io library 22 years ago