[master] b695053 Save a tons of sysconf() syscalls.
Poul-Henning Kamp
phk at FreeBSD.org
Wed Jan 6 14:51:54 CET 2016
commit b6950530c17bdacfce5372c2a37ab14c492710c0
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