cosmopolitan/libc/sock
Justine Tunney 2278327eba
Implement support for POSIX thread cancellations
This change makes some miracle modifications to the System Five system
call support, which lets us have safe, correct, and atomic handling of
thread cancellations. It all turned out to be cheaper than anticipated
because it wasn't necessary to modify the system call veneers. We were
able to encode the cancellability of each system call into the magnums
found in libc/sysv/syscalls.sh. Since cancellations are so waq, we are
also supporting a lovely Musl Libc mask feature for raising ECANCELED.
2022-11-04 01:04:43 -07:00
..
struct Make more threading improvements 2022-11-01 23:28:26 -07:00
accept-nt.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
accept-sysv.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
accept.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
accept4-sysv.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
accept4.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
alg.h Perform build and magnum tuning 2021-08-10 10:26:13 -07:00
asanmsghdr.c Prove that Makefile is fully defined 2022-08-06 04:05:08 -07:00
basesocket.c Improve synchronization 2022-04-15 15:31:55 -07:00
bind-nt.c Fix bugs and make code tinier 2022-10-09 23:21:34 -07:00
bind-sysv.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
bind.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
closesocket-nt.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
connect-nt.c Fix bugs and make code tinier 2022-10-09 23:21:34 -07:00
connect-sysv.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
connect.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
dupsockfd.c Improve synchronization 2022-04-15 15:31:55 -07:00
epoll.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
epoll.h Add epoll and do more release readiness changes 2020-11-28 12:01:51 -08:00
fixupnewsockfd.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
gethostips.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
getpeername-nt.c Fix bugs and make code tinier 2022-10-09 23:21:34 -07:00
getpeername-sysv.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
getpeername.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
getsockname-nt.c Fix bugs and make code tinier 2022-10-09 23:21:34 -07:00
getsockname-sysv.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
getsockname.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
getsockopt-nt.c Fix bugs and make code tinier 2022-10-09 23:21:34 -07:00
getsockopt.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
goodsocket.c Refactor out some duplicated code 2021-08-14 06:17:56 -07:00
goodsocket.internal.h Refactor out some duplicated code 2021-08-14 06:17:56 -07:00
htonl.c Do some string library work 2022-08-20 22:17:14 -07:00
htons.c Do some string library work 2022-08-20 22:17:14 -07:00
if.h Make more compatibility improvements 2022-09-06 07:04:13 -07:00
inet_addr.c Prove that Makefile is fully defined 2022-08-06 04:05:08 -07:00
inet_aton.c Prove that Makefile is fully defined 2022-08-06 04:05:08 -07:00
inet_ntoa.c Prove that Makefile is fully defined 2022-08-06 04:05:08 -07:00
inet_ntop.c Fix inet_ntop(AF_INET6) buffer length (#582) 2022-09-03 22:46:45 -07:00
inet_pton.c Implement inet_pton for AF_INET6 (#583) 2022-08-31 15:14:42 -07:00
internal.h Release pledge.com 1.7 and landlockmake.com 1.3 2022-08-15 19:52:00 -07:00
iovec2nt.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
ipclassify.internal.h Get Cosmopolitan into releasable state 2020-11-25 08:19:00 -08:00
kntwsadata.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
listen-nt.c Fix bugs and make code tinier 2022-10-09 23:21:34 -07:00
listen.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
nointernet.c Fix bugs and make code tinier 2022-10-09 23:21:34 -07:00
ntohl.c Do some string library work 2022-08-20 22:17:14 -07:00
ntohs.c Do some string library work 2022-08-20 22:17:14 -07:00
parseport.c Add protoent and netent (#209) 2021-07-10 12:36:35 -07:00
pselect.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
recv-nt.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
recv.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
recvfrom-nt.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
recvfrom.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
recvmsg.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
select-nt.c Make improvements 2022-08-15 15:20:36 -07:00
select.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
select.h Make improvements 2022-08-15 15:20:36 -07:00
send-nt.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
send.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
sendfile.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
sendfile.internal.h Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
sendmsg.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
sendto-nt.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
sendto.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
setsockopt-nt.c Prove that Makefile is fully defined 2022-08-06 04:05:08 -07:00
setsockopt.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
shutdown-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
shutdown.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
sock.h Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
sock.mk Fold LIBC_UNICODE into LIBC_STR 2022-08-13 08:42:32 -07:00
sockaddr2bsd.c Polyfill IPv6 on non-Linux 2022-09-08 06:06:22 -07:00
sockaddr2linux.c Polyfill IPv6 on non-Linux 2022-09-08 06:06:22 -07:00
sockatmark.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
sockdebug.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
socket-nt.c Clean up some of the threading code 2022-09-08 12:31:56 -07:00
socket-sysv.c Have redbean show zip listing as default / handler 2021-03-29 01:22:49 -07:00
socket.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
socketpair-nt.c Make fixes and improvements 2022-10-19 07:19:19 -07:00
socketpair-sysv.c Perform fine-tuning of socketpair and pipe 2021-03-16 22:44:54 -07:00
socketpair.c Strengthen the pledge() polyfill 2022-06-27 13:02:17 -07:00
sys_sendfile_freebsd.S Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
sys_sendfile_xnu.S Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
syscall_fd.internal.h Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
syslog.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
syslog.h Add more missing libc functionality 2022-08-06 10:50:51 -07:00
winsockblock.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
wsablock.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
xinet_ntop.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
yoink.inc Improve synchronization 2022-04-15 15:31:55 -07:00