mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-10-18 11:07:05 +08:00
Update to FreeBSD head 2017-08-01
Git mirror commit f5002f5e5f78cae9f0269d812dc0aedb0339312c. Update #3472.
This commit is contained in:
@@ -87,7 +87,7 @@ sctp_init(void)
|
||||
#if defined(SCTP_PACKET_LOGGING)
|
||||
SCTP_BASE_VAR(packet_log_writers) = 0;
|
||||
SCTP_BASE_VAR(packet_log_end) = 0;
|
||||
bzero(&SCTP_BASE_VAR(packet_log_buffer), SCTP_PACKET_LOG_SIZE);
|
||||
memset(&SCTP_BASE_VAR(packet_log_buffer), 0, SCTP_PACKET_LOG_SIZE);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -7140,19 +7140,16 @@ sctp_listen(struct socket *so, int backlog, struct thread *p)
|
||||
}
|
||||
}
|
||||
SCTP_INP_WLOCK(inp);
|
||||
SOCK_LOCK(so);
|
||||
/* It appears for 7.0 and on, we must always call this. */
|
||||
solisten_proto(so, backlog);
|
||||
if (inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) {
|
||||
/* remove the ACCEPTCONN flag for one-to-many sockets */
|
||||
so->so_options &= ~SO_ACCEPTCONN;
|
||||
if ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) == 0) {
|
||||
SOCK_LOCK(so);
|
||||
solisten_proto(so, backlog);
|
||||
SOCK_UNLOCK(so);
|
||||
}
|
||||
if (backlog > 0) {
|
||||
inp->sctp_flags |= SCTP_PCB_FLAGS_ACCEPTING;
|
||||
} else {
|
||||
inp->sctp_flags &= ~SCTP_PCB_FLAGS_ACCEPTING;
|
||||
}
|
||||
SOCK_UNLOCK(so);
|
||||
SCTP_INP_WUNLOCK(inp);
|
||||
return (error);
|
||||
}
|
||||
|
Reference in New Issue
Block a user