diff options
author | des <des@FreeBSD.org> | 2014-01-28 14:32:04 +0000 |
---|---|---|
committer | des <des@FreeBSD.org> | 2014-01-28 14:32:04 +0000 |
commit | ec795122057b71761df5f7e3457db20311c6731e (patch) | |
tree | 5e71d698d9ec27820a7ba59f9c9222a07819d91d | |
parent | 2a7e8f70f573ed97d7dc6f4e06308270c6251972 (diff) | |
download | FreeBSD-src-ec795122057b71761df5f7e3457db20311c6731e.zip FreeBSD-src-ec795122057b71761df5f7e3457db20311c6731e.tar.gz |
Increase the default (and minimum) buffer size from 4 kB to 16 kB. Also,
propagate the buffer size to libc, which uses a 1 kB buffer by default,
negating any hypothetical benefit of increasing fetch(1)'s buffer size.
MFC after: 3 days
-rw-r--r-- | usr.bin/fetch/fetch.1 | 6 | ||||
-rw-r--r-- | usr.bin/fetch/fetch.c | 3 |
2 files changed, 5 insertions, 4 deletions
diff --git a/usr.bin/fetch/fetch.1 b/usr.bin/fetch/fetch.1 index 6053518..b9d4785 100644 --- a/usr.bin/fetch/fetch.1 +++ b/usr.bin/fetch/fetch.1 @@ -1,5 +1,5 @@ .\"- -.\" Copyright (c) 2000-2013 Dag-Erling Smørgrav +.\" Copyright (c) 2000-2014 Dag-Erling Smørgrav .\" Copyright (c) 2013 Michael Gmelin <freebsd@grem.de> .\" All rights reserved. .\" Portions Copyright (c) 1999 Massachusetts Institute of Technology; used @@ -30,7 +30,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 30, 2013 +.Dd January 28, 2014 .Dt FETCH 1 .Os .Sh NAME @@ -118,7 +118,7 @@ Automatically retry the transfer upon soft failures. Allow SSL version 2 when negotiating the connection. .It Fl B Ar bytes , Fl -buffer-size= Ns Ar bytes Specify the read buffer size in bytes. -The default is 4096 bytes. +The default is 16,384 bytes. Attempts to set a buffer size lower than this will be silently ignored. The number of reads actually performed is reported at verbosity level diff --git a/usr.bin/fetch/fetch.c b/usr.bin/fetch/fetch.c index 3236431..3f64151 100644 --- a/usr.bin/fetch/fetch.c +++ b/usr.bin/fetch/fetch.c @@ -49,7 +49,7 @@ __FBSDID("$FreeBSD$"); #include <fetch.h> -#define MINBUFSIZE 4096 +#define MINBUFSIZE 16384 #define TIMEOUT 120 /* Option flags */ @@ -716,6 +716,7 @@ fetch(char *URL, const char *path) sigalrm = siginfo = sigint = 0; /* suck in the data */ + setvbuf(f, NULL, _IOFBF, B_size); signal(SIGINFO, sig_handler); while (!sigint) { if (us.size != -1 && us.size - count < B_size && |