patches for easier mirroring, to eliminate a special copy, to make www.freebsd.org/security a full copy of security.freebsd.org and be eventually be the same. For now files are just sitting there. The symlinks are missing. Discussed on: www (repository location) Discussed with: simon (so)
51 lines
1.5 KiB
Diff
51 lines
1.5 KiB
Diff
Index: sys/kern/uipc_socket.c
|
|
diff -u sys/kern/uipc_socket.c:1.68.2.20 sys/kern/uipc_socket.c:1.68.2.21
|
|
--- sys/kern/uipc_socket.c:1.68.2.20 Sun Apr 28 16:38:13 2002
|
|
+++ sys/kern/uipc_socket.c Tue Apr 30 22:27:35 2002
|
|
@@ -256,7 +256,6 @@
|
|
} else {
|
|
panic("sofree: not queued");
|
|
}
|
|
- head->so_qlen--;
|
|
so->so_state &= ~SS_INCOMP;
|
|
so->so_head = NULL;
|
|
}
|
|
@@ -1641,6 +1640,6 @@
|
|
{
|
|
struct socket *so = (struct socket *)kn->kn_fp->f_data;
|
|
|
|
- kn->kn_data = so->so_qlen - so->so_incqlen;
|
|
+ kn->kn_data = so->so_qlen;
|
|
return (! TAILQ_EMPTY(&so->so_comp));
|
|
}
|
|
Index: sys/kern/uipc_socket2.c
|
|
diff -u sys/kern/uipc_socket2.c:1.55.2.13 sys/kern/uipc_socket2.c:1.55.2.15
|
|
--- sys/kern/uipc_socket2.c:1.55.2.15 Tue Apr 30 22:26:30 2002
|
|
+++ sys/kern/uipc_socket2.c Tue Apr 30 22:27:35 2002
|
|
@@ -123,6 +123,7 @@
|
|
head->so_incqlen--;
|
|
so->so_state &= ~SS_INCOMP;
|
|
TAILQ_INSERT_TAIL(&head->so_comp, so, so_list);
|
|
+ head->so_qlen++;
|
|
so->so_state |= SS_COMP;
|
|
sorwakeup(head);
|
|
wakeup_one(&head->so_timeo);
|
|
@@ -207,12 +208,17 @@
|
|
if (connstatus) {
|
|
TAILQ_INSERT_TAIL(&head->so_comp, so, so_list);
|
|
so->so_state |= SS_COMP;
|
|
+ head->so_qlen++;
|
|
} else {
|
|
+ if (head->so_incqlen > head->so_qlimit) {
|
|
+ struct socket *sp;
|
|
+ sp = TAILQ_FIRST(&head->so_incomp);
|
|
+ (void) soabort(sp);
|
|
+ }
|
|
TAILQ_INSERT_TAIL(&head->so_incomp, so, so_list);
|
|
so->so_state |= SS_INCOMP;
|
|
head->so_incqlen++;
|
|
}
|
|
- head->so_qlen++;
|
|
if (connstatus) {
|
|
sorwakeup(head);
|
|
wakeup((caddr_t)&head->so_timeo);
|