cosmopolitan/libc/sock
Justine Tunney 14e192e5ba Introduce --strace flag for system call tracing
This is similar to the --ftrace (c function call trace) flag, except
it's less noisy since it only logs system calls to stderr. Having this
flag is valuable because (1) system call tracing tells us a lot about
the behavior of complex programs and (2) it's usually very hard to get
system call tracing on various operating systems, e.g. strace, ktrace,
dtruss, truss, nttrace, etc. Especially on Apple platforms where even
with the special boot trick, debuggers still aren't guaranteed to work.

    make -j8 o//examples
    o//examples/hello.com --strace

This is enabled by default in MODE=, MODE=opt, and MODE=dbg. In MODE=dbg
extra information will be printed.

    make -j8 MODE=dbg o/dbg/examples
    o/dbg/examples/hello.com --strace |& less

This change also changes:

- Rename IsText() → _istext()
- Rename IsUtf8() → _isutf8()
- Fix madvise() on Windows NT
- Fix empty string case of inet_ntop()
- vfork() wrapper now saves and restores errno
- Update xsigaction() to yoink syscall support
2022-03-18 18:07:28 -07:00
..
accept-nt.c Improve system call support 2021-08-25 21:36:17 -07:00
accept-sysv.c Remove dollars from system call support symbols 2021-02-03 19:35:29 -08:00
accept.c Change license 2020-12-27 17:18:44 -08:00
accept4-sysv.c Remove dollars from system call support symbols 2021-02-03 19:35:29 -08:00
accept4.c Introduce --strace flag for system call tracing 2022-03-18 18:07:28 -07:00
alg.h Perform build and magnum tuning 2021-08-10 10:26:13 -07:00
bind-nt.c Remove dollars from system call support symbols 2021-02-03 19:35:29 -08:00
bind.c Introduce --strace flag for system call tracing 2022-03-18 18:07:28 -07:00
closesocket-nt.c Cleanup socket code 2021-02-05 23:58:50 -08:00
connect-nt.c Remove dollars from system call support symbols 2021-02-03 19:35:29 -08:00
connect-sysv.c Implement syslog (#136) 2021-04-01 19:32:39 -07:00
connect.c Introduce --strace flag for system call tracing 2022-03-18 18:07:28 -07:00
epoll.c Change noinline to dontinline (#312) 2021-11-12 15:12:18 -08:00
epoll.h Add epoll and do more release readiness changes 2020-11-28 12:01:51 -08:00
firewall.c Improve ZIP filesystem and change its prefix 2021-08-22 01:11:53 -07:00
fixupnewsockfd.c Remove dollars from system call support symbols 2021-02-03 19:35:29 -08:00
gethostips.c Add test for ioctl(SIOCGIFCONF) and polyfill on BSDs 2021-06-25 18:44:04 -07:00
getpeername-nt.c Make minor revisions to previous change 2021-06-30 10:45:27 -07:00
getpeername-sysv.c Remove dollars from system call support symbols 2021-02-03 19:35:29 -08:00
getpeername.c Introduce --strace flag for system call tracing 2022-03-18 18:07:28 -07:00
getsockname-nt.c Remove dollars from system call support symbols 2021-02-03 19:35:29 -08:00
getsockname-sysv.c Remove dollars from system call support symbols 2021-02-03 19:35:29 -08:00
getsockname.c Introduce --strace flag for system call tracing 2022-03-18 18:07:28 -07:00
getsockopt-nt.c Add SSL to redbean 2021-06-24 13:20:50 -07:00
getsockopt.c Remove dollars from system call support symbols 2021-02-03 19:35:29 -08: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
inet_addr.c Add IP address conversion helpers 2021-02-20 22:53:22 -08:00
inet_aton.c Add IP address conversion helpers 2021-02-20 22:53:22 -08:00
inet_ntoa.c Add IP address conversion helpers 2021-02-20 22:53:22 -08:00
inet_ntop.c Introduce --strace flag for system call tracing 2022-03-18 18:07:28 -07:00
inet_pton.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
internal.h Introduce --strace flag for system call tracing 2022-03-18 18:07:28 -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
ispublicip.c Improve ZIP filesystem and change its prefix 2021-08-22 01:11:53 -07:00
kntwsadata.c Perform some code cleanup 2021-02-27 10:33:32 -08:00
listen-nt.c Remove dollars from system call support symbols 2021-02-03 19:35:29 -08:00
listen.c Introduce --strace flag for system call tracing 2022-03-18 18:07:28 -07:00
parseport.c Add protoent and netent (#209) 2021-07-10 12:36:35 -07:00
poll-metal.c Make numerous improvements 2021-09-28 01:52:34 -07:00
poll-nt.c Make improvements 2022-03-16 13:40:10 -07:00
poll.c Introduce --strace flag for system call tracing 2022-03-18 18:07:28 -07:00
recv.c Change license 2020-12-27 17:18:44 -08:00
recvfrom-nt.c Remove dollars from system call support symbols 2021-02-03 19:35:29 -08:00
recvfrom.c Make minor improvements 2021-05-15 21:53:26 -07:00
recvmsg.c Fix test failure on Windows 2021-04-07 23:36:05 -07:00
select-nt.c Fix select() on Windows for timeout (#141) 2021-08-26 15:59:55 -07:00
select.c Remove dollars from system call support symbols 2021-02-03 19:35:29 -08:00
select.h Make numerous improvements 2021-09-28 01:52:34 -07:00
send.c Change license 2020-12-27 17:18:44 -08:00
sendfile.c Make numerous improvements 2021-09-28 01:52:34 -07:00
sendmsg.c Fix test failure on Windows 2021-04-07 23:36:05 -07:00
sendto-nt.c Remove dollars from system call support symbols 2021-02-03 19:35:29 -08:00
sendto.c Improve ZIP filesystem and change its prefix 2021-08-22 01:11:53 -07:00
setsockopt-nt.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
setsockopt.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
shutdown-nt.c Remove dollars from system call support symbols 2021-02-03 19:35:29 -08:00
shutdown.c Introduce --strace flag for system call tracing 2022-03-18 18:07:28 -07:00
sock.h Introduce --strace flag for system call tracing 2022-03-18 18:07:28 -07:00
sock.mk Add SSL to redbean 2021-06-24 13:20:50 -07:00
sockdebug.c Introduce --strace flag for system call tracing 2022-03-18 18:07:28 -07:00
sockdebug.h Introduce --strace flag for system call tracing 2022-03-18 18:07:28 -07:00
socket-nt.c Make numerous improvements 2021-09-28 01:52:34 -07:00
socket-sysv.c Have redbean show zip listing as default / handler 2021-03-29 01:22:49 -07:00
socket.c Introduce --strace flag for system call tracing 2022-03-18 18:07:28 -07:00
socketpair-nt.c Add ioctl(SIOCGIFxxx) support (#197) 2021-06-24 10:53:27 -07:00
socketpair-sysv.c Perform fine-tuning of socketpair and pipe 2021-03-16 22:44:54 -07:00
socketpair.c Perform fine-tuning of socketpair and pipe 2021-03-16 22:44:54 -07:00
syslog.c Make numerous improvements 2021-09-28 01:52:34 -07:00
syslog.h Implement syslog (#136) 2021-04-01 19:32:39 -07:00
winsockblock.c Make numerous improvements 2021-09-28 01:52:34 -07:00
winsockerr.c Remove dollars from system call support symbols 2021-02-03 19:35:29 -08:00
xinet_ntop.c Remove dollars from system call support symbols 2021-02-03 19:35:29 -08:00
yoink.inc Remove dollars from system call support symbols 2021-02-03 19:35:29 -08:00