[4.1] 8522bad Save a tons of sysconf() syscalls.
Lasse Karstensen
lkarsten at varnish-software.com
Thu Jan 14 15:15:11 CET 2016
commit 8522bad93f3283bb484968cbc0c048c7fab6aff5
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Wed Jan 6 13:27:06 2016 +0000
Save a tons of sysconf() syscalls.
diff --git a/lib/libvarnish/vsub.c b/lib/libvarnish/vsub.c
index 4e3067a..f7b6a07 100644
--- a/lib/libvarnish/vsub.c
+++ b/lib/libvarnish/vsub.c
@@ -70,7 +70,7 @@ unsigned
VSUB_run(struct vsb *sb, vsub_func_f *func, void *priv, const char *name,
int maxlines)
{
- int rv, p[2], sfd, status;
+ int rv, p[2], sfd, hfd, status;
pid_t pid;
struct vlu *vlu;
struct vsub_priv sp;
@@ -100,7 +100,8 @@ VSUB_run(struct vsb *sb, vsub_func_f *func, void *priv, const char *name,
assert(dup2(p[1], STDOUT_FILENO) == STDOUT_FILENO);
assert(dup2(p[1], STDERR_FILENO) == STDERR_FILENO);
/* Close all other fds */
- for (sfd = STDERR_FILENO+1; sfd < sysconf(_SC_OPEN_MAX); sfd++)
+ hfd = sysconf(_SC_OPEN_MAX);
+ for (sfd = STDERR_FILENO+1; sfd < hfd; sfd++)
(void)close(sfd);
func(priv);
/*
More information about the varnish-commit
mailing list