mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-05-23 13:52:28 +00:00
Fix some more socket bugs
- The functions that return a sockaddr now do so the same way the Linux Kernel does across platforms, e.g. getpeername(), accept4() - Socket system calls on Windows will now only check for interrupts when a blocking operation needs to be performed. - Write tests for recvfrom() system call
This commit is contained in:
parent
ac92f25296
commit
0ba3199915
49 changed files with 347 additions and 352 deletions
|
@ -132,7 +132,7 @@ TEST(unix, serverGoesDown_deletedSockFile) { // field of landmine
|
|||
struct sockaddr_un addr = {AF_UNIX, "foo.sock"};
|
||||
ASSERT_SYS(0, 3, socket(AF_UNIX, SOCK_DGRAM, 0));
|
||||
ASSERT_SYS(0, 0, bind(3, (void *)&addr, len));
|
||||
ASSERT_SYS(0, 4, socket(AF_UNIX, SOCK_DGRAM | SOCK_NONBLOCK, 0));
|
||||
ASSERT_SYS(0, 4, socket(AF_UNIX, SOCK_DGRAM, 0));
|
||||
ASSERT_SYS(0, 0, connect(4, (void *)&addr, len));
|
||||
ASSERT_SYS(0, 5, write(4, "hello", 5));
|
||||
ASSERT_SYS(0, 5, read(3, buf, 8));
|
||||
|
@ -151,7 +151,7 @@ TEST(unix, serverGoesDown_deletedSockFile) { // field of landmine
|
|||
errno == EDESTADDRREQ));
|
||||
errno = 0;
|
||||
ASSERT_SYS(0, 0, close(4));
|
||||
ASSERT_SYS(0, 4, socket(AF_UNIX, SOCK_DGRAM | SOCK_NONBLOCK, 0));
|
||||
ASSERT_SYS(0, 4, socket(AF_UNIX, SOCK_DGRAM, 0));
|
||||
ASSERT_SYS(0, 0, connect(4, (void *)&addr, len));
|
||||
ASSERT_SYS(0, 5, write(4, "hello", 5));
|
||||
ASSERT_SYS(0, 5, read(3, buf, 8));
|
||||
|
@ -168,7 +168,7 @@ TEST(unix, serverGoesDown_usingSendTo_unlink) { // much easier
|
|||
struct sockaddr_un addr = {AF_UNIX, "foo.sock"};
|
||||
ASSERT_SYS(0, 3, socket(AF_UNIX, SOCK_DGRAM, 0));
|
||||
ASSERT_SYS(0, 0, bind(3, (void *)&addr, len));
|
||||
ASSERT_SYS(0, 4, socket(AF_UNIX, SOCK_DGRAM | SOCK_NONBLOCK, 0));
|
||||
ASSERT_SYS(0, 4, socket(AF_UNIX, SOCK_DGRAM, 0));
|
||||
ASSERT_SYS(0, 5, sendto(4, "hello", 5, 0, (void *)&addr, len));
|
||||
ASSERT_SYS(0, 5, read(3, buf, 8));
|
||||
ASSERT_SYS(0, 0, close(3));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue