svn commit: r190778 - in stable/7/usr.sbin/portsnap: . phttpget
Colin Percival
cperciva at FreeBSD.org
Mon Apr 6 08:45:05 PDT 2009
Author: cperciva
Date: Mon Apr 6 15:45:03 2009
New Revision: 190778
URL: http://svn.freebsd.org/changeset/base/190778
Log:
MFC r190679: Set SO_NOSIGPIPE on sockets in order to avoid having
phttpget die when a RST packet arrives.
Approved by: re (kib)
Modified:
stable/7/usr.sbin/portsnap/ (props changed)
stable/7/usr.sbin/portsnap/phttpget/phttpget.c
Modified: stable/7/usr.sbin/portsnap/phttpget/phttpget.c
==============================================================================
--- stable/7/usr.sbin/portsnap/phttpget/phttpget.c Mon Apr 6 15:29:44 2009 (r190777)
+++ stable/7/usr.sbin/portsnap/phttpget/phttpget.c Mon Apr 6 15:45:03 2009 (r190778)
@@ -317,6 +317,7 @@ main(int argc, char *argv[])
int chunked; /* != if transfer-encoding is chunked */
off_t clen; /* Chunk length */
int firstreq = 0; /* # of first request for this connection */
+ int val; /* Value used for setsockopt call */
/* Check that the arguments are sensible */
if (argc < 2)
@@ -370,6 +371,11 @@ main(int argc, char *argv[])
setsockopt(sd, SOL_SOCKET, SO_RCVTIMEO,
(void *)&timo, (socklen_t)sizeof(timo));
+ /* ... disable SIGPIPE generation ... */
+ val = 1;
+ setsockopt(sd, SOL_SOCKET, SO_NOSIGPIPE,
+ (void *)&val, sizeof(int));
+
/* ... and connect to the server. */
if(connect(sd, res->ai_addr, res->ai_addrlen)) {
close(sd);
More information about the svn-src-stable-7
mailing list