231 Commits (master)

Author SHA1 Message Date
leitner 08e6338d23 update iom_add man page, add iom_requeue man page 8 months ago
leitner 0756884d41 add iom_requeue 8 months ago
leitner 5dbad67352 autofree mode for io_batch 8 months ago
leitner f045b33647 document the new functions 8 months ago
leitner af8a2d7215 typo 8 months ago
leitner 6f8e168ae3 proper return value handling 8 months ago
leitner cf112a57fa timespec is absolute, not relative! 8 months ago
leitner 4200c23f6e try to accomodate apple 8 months ago
leitner e19831955e sigh 8 months ago
leitner cf6441b0c4 another bsd warning 8 months ago
leitner 8d027b2a2b silence bsd warning 8 months ago
leitner e394b3cb06 silence warnings under bsd 8 months ago
leitner 80328bccf9 return early 1 year ago
leitner 444c36f3e8 silence clang static analyzer 2 years ago
leitner 4422ec3770 gcc 13 -fanalyze run with fixes / comments about false positives 2 years ago
leitner ee44f1a430 #define _POSIX_C_SOURCE 200809L 2 years ago
leitner 00bc4e4a5d add iob_write2 which takes an additional sendfile callback 2 years ago
leitner fe1cb50ec1 remove unused local var 3 years ago
leitner 1564beb8a3 change io_eagain to io_eagain_wite 3 years ago
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 0556994916 try to prevent ARM from reordering writes in hardware 3 years ago
leitner 853242b078 next attempt (I need a bsd shell) 4 years ago
leitner efb1a8a2ae kqueue path assumed EVFILT_READ and EVFILT_WRITE are bits that can be used with | and ~ and &
they aren't
4 years ago
leitner 2788b18f32 provide prototype 4 years ago
leitner cef53a5907 try too fix erdgeist's bug 4 years ago
leitner 1a793700a8 try to fix erdgeist's bug 4 years ago
leitner 45f99bbd0a in io_eagain, make sure the kernel knows we wanted to write to the
descriptor in case we optimized the syscall away previously
in iob_send leave loop if we got a partial write
4 years ago
leitner f4cd377378 fix out of bounds memory access 4 years ago
leitner 86e596b870 limit iovec size for sendmsg code path to 50 4 years ago
leitner 1fb5505cc2 add missing includes 4 years ago
leitner b5f21a3900 add support for saving syscalls with accept4 4 years ago
leitner c4b0dd6b81 move cleanup after check that all events are handled 4 years ago
leitner 15f004df55 prevent infinite loop in cleanup code for
io_close-with-outstanding-events-queued race prevention
4 years ago
leitner 5f9f1a2a62 properly initialize deferred list in io_fd (did not help though) 4 years ago
leitner ad37bd83de add snarky comment 4 years ago
leitner d4ac8fe906 might actually work now 4 years ago
leitner 75fe9a620e attempt to prevent future endless loops in io_wait half-closed fd
cleanup
4 years ago
leitner ddfdd4d077 add compiler.h to abstract gcc attributes 4 years ago
leitner 69c9d1454d port the epoll optimizations to kqueue, hopefully repairing it in the process 5 years ago
leitner 9d51f000ef silence another compiler warning 5 years ago
leitner bbaf63c7fd remove compiler warnings in ent
try to fix io_waituntil2 on freebsd
5 years ago
leitner 8b0450cd29 some old glibc may define MSG_ZEROCOPY but not SO_ZEROCOPY :-( 5 years ago
leitner 278a675a69 bsd fix 6 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 ce595ae0cc add experimental iom API for multithreaded I/O multiplexing (in io.h) 7 years ago
leitner 94feba3667 use write in buffer_put for a slight perf improvement 7 years ago
leitner e4a2f4d068 compile if MSG_ZEROCOPY is not defined by libc 7 years ago
leitner f8c4132df0 add MSG_ZEROCOPY support (only used for buffers >8k) 7 years ago
leitner 760598ec2f #include <foo.h> -> #include <libowfat/foo.h> 8 years ago