diff --git a/BasiliskII/src/slirp/slirp.c b/BasiliskII/src/slirp/slirp.c index 37f2460a..0d3066b7 100644 --- a/BasiliskII/src/slirp/slirp.c +++ b/BasiliskII/src/slirp/slirp.c @@ -349,7 +349,7 @@ void slirp_select_poll(fd_set *readfds, fd_set *writefds, fd_set *xfds) * See if anything has timed out */ if (link_up) { - if (time_fasttimo && ((curtime - time_fasttimo) >= 199)) { + if (time_fasttimo && ((curtime - time_fasttimo) >= 2)) { tcp_fasttimo(); time_fasttimo = 0; } diff --git a/BasiliskII/src/slirp/socket.c b/BasiliskII/src/slirp/socket.c index bdbbf99f..ce874e0f 100644 --- a/BasiliskII/src/slirp/socket.c +++ b/BasiliskII/src/slirp/socket.c @@ -575,6 +575,7 @@ solisten(port, laddr, lport, flags) addr.sin_port = port; if (((s = socket(AF_INET,SOCK_STREAM,0)) < 0) || + (setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char *)&opt,sizeof(int)) < 0) || (bind(s,(struct sockaddr *)&addr, sizeof(addr)) < 0) || (listen(s,1) < 0)) { int tmperrno = errno; /* Don't clobber the real reason we failed */ @@ -589,7 +590,6 @@ solisten(port, laddr, lport, flags) #endif return NULL; } - setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char *)&opt,sizeof(int)); setsockopt(s,SOL_SOCKET,SO_OOBINLINE,(char *)&opt,sizeof(int)); getsockname(s,(struct sockaddr *)&addr,&addrlen); diff --git a/BasiliskII/src/slirp/udp.c b/BasiliskII/src/slirp/udp.c index db130b05..5608a326 100644 --- a/BasiliskII/src/slirp/udp.c +++ b/BasiliskII/src/slirp/udp.c @@ -425,7 +425,7 @@ struct cu_header { uint32_t d_addr; // destination address uint16_t s_family; // source family uint16_t s_port; // source port - uint32_t s_addr; // source address + uint32_t so_addr; // source address uint32_t seqn; // sequence number uint16_t message; // message uint16_t data_type; // data type @@ -617,7 +617,7 @@ struct cu_header { return; cu_head = mtod(m, struct cu_header *); cu_head->s_port = addr.sin_port; - cu_head->s_addr = our_addr.s_addr; + cu_head->so_addr = our_addr.s_addr; } return;