Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/netkey on EAGAIN, set kp_queue again for the next wakeup...
details: https://anonhg.NetBSD.org/src/rev/4cde6c460a25
branches: trunk
changeset: 567084:4cde6c460a25
user: itojun <itojun%NetBSD.org@localhost>
date: Mon May 31 09:06:36 2004 +0000
description:
on EAGAIN, set kp_queue again for the next wakeup. pointed out by yamt
diffstat:
sys/netkey/keysock.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diffs (32 lines):
diff -r d8221623a2fe -r 4cde6c460a25 sys/netkey/keysock.c
--- a/sys/netkey/keysock.c Mon May 31 09:05:10 2004 +0000
+++ b/sys/netkey/keysock.c Mon May 31 09:06:36 2004 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: keysock.c,v 1.31 2004/05/31 04:29:01 itojun Exp $ */
+/* $NetBSD: keysock.c,v 1.32 2004/05/31 09:06:36 itojun Exp $ */
/* $KAME: keysock.c,v 1.32 2003/08/22 05:45:08 itojun Exp $ */
/*
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: keysock.c,v 1.31 2004/05/31 04:29:01 itojun Exp $");
+__KERNEL_RCSID(0, "$NetBSD: keysock.c,v 1.32 2004/05/31 09:06:36 itojun Exp $");
#include "opt_inet.h"
@@ -270,9 +270,12 @@
if (canwait &&
sbspace(&rp->rcb_socket->so_rcv) < m->m_pkthdr.len) {
error = EAGAIN;
- continue;
+ kp->kp_queue = m;
+ break;
}
+ m->m_nextpkt = NULL;
+
if (!sbappendaddr(&rp->rcb_socket->so_rcv,
(struct sockaddr *)&key_src, m, NULL)) {
pfkeystat.in_nomem++;
Home |
Main Index |
Thread Index |
Old Index