After poking around some more I realized that changing the MSG_WAITALL
flag used for recv to 0 (no flags) gave recv the same behavior as read
and henced fixed the read-socket word on OpenBSD.
Please see the attached patch.
--- socket.fs.old Tue Nov 8 15:34:30 2022
+++ socket.fs Tue Nov 8 15:35:21 2022
@@ -476,7 +476,7 @@
: (rs) ( socket c-addr maxlen -- c-addr size )
third dup >r false blocking-mode rot fileno -rot
- over >r msg_waitall recv
+ over >r 0 recv
dup 0< IF 0 max
errno dup 0<> swap ewouldblock <> and ?ior
THEN
Best,
--
nature