$OpenBSD: patch-libpconn_PConnection_net_c,v 1.1.1.1 2005/01/17 00:25:38 jcs Exp $
--- libpconn/PConnection_net.c.orig	Wed Jul 30 08:20:57 2003
+++ libpconn/PConnection_net.c	Sun Jan 16 18:16:16 2005
@@ -476,6 +476,7 @@ net_accept(PConnection *p)
 		return -1;
 
 	cliaddr_len = sizeof(cliaddr);
+#if 0
 	net_udp_listen(p, &wakeup_pkt,
 		       &cliaddr, &cliaddr_len);
 	/* XXX - Error-checking */
@@ -483,6 +484,7 @@ net_accept(PConnection *p)
 	net_acknowledge_wakeup(p, &wakeup_pkt,
 			       &cliaddr, &cliaddr_len);
 	/* XXX - Error-checking */
+#endif
 
 	net_tcp_listen(p);
 	/* XXX - Error-checking */
@@ -738,6 +740,7 @@ static int
 net_tcp_listen(PConnection *pconn)
 {
 	int err;
+	int one = 1;
 	struct sockaddr_in servaddr;	/* Local host's (server's) address */
 	struct sockaddr_in cliaddr;	/* Client's address */
 	socklen_t cliaddr_len;		/* Length of client's address */
@@ -794,6 +797,9 @@ net_tcp_listen(PConnection *pconn)
 	else
 		servaddr.sin_port = service->s_port;
 				/* Port is already in network byte order */
+
+	/* allow a quick restart */
+	setsockopt(pconn->fd, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one));
 
 	IO_TRACE(5)
 		fprintf(stderr, "binding\n");
