---
 bin/varnishd/cache/cache_center.c |    4 +---
 bin/varnishd/common/params.h      |    1 +
 bin/varnishd/mgt/mgt_param.c      |    6 ++++++
 3 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/bin/varnishd/cache/cache_center.c 
b/bin/varnishd/cache/cache_center.c
index 23b5f71..aaab4fd 100644
--- a/bin/varnishd/cache/cache_center.c
+++ b/bin/varnishd/cache/cache_center.c
@@ -1041,9 +1041,7 @@ cnt_streambody(struct sess *sp, struct worker *wrk, 
struct req *req)
                wrk->busyobj->fetch_obj = req->obj;
                http_Setup(wrk->busyobj->bereq, NULL);
                http_Setup(wrk->busyobj->beresp, NULL);
-               wrk_ex = SES_GrabWorker(sp, 100); /* MBGXXX: Configurable
-                                                  * thread grabbing
-                                                  * timeout */
+               wrk_ex = SES_GrabWorker(sp, cache_param->stream_grab_timeout);
                if (wrk_ex != NULL)
                        wrk->busyobj->use_locks = 1;
                if (req->obj->objcore != NULL) {
diff --git a/bin/varnishd/common/params.h b/bin/varnishd/common/params.h
index f0445ae..f726ce8 100644
--- a/bin/varnishd/common/params.h
+++ b/bin/varnishd/common/params.h
@@ -99,6 +99,7 @@ struct params {
        ssize_t                 fetch_chunksize;
        ssize_t                 fetch_maxchunksize;
        ssize_t                 stream_maxchunksize;
+       unsigned                stream_grab_timeout;
        unsigned                nuke_limit;
 
 #ifdef SENDFILE_WORKS
diff --git a/bin/varnishd/mgt/mgt_param.c b/bin/varnishd/mgt/mgt_param.c
index 227ea3a..9b1467f 100644
--- a/bin/varnishd/mgt/mgt_param.c
+++ b/bin/varnishd/mgt/mgt_param.c
@@ -846,6 +846,12 @@ static const struct parspec input_parspec[] = {
                "data available.\n",
                EXPERIMENTAL,
                "256k", "bytes" },
+       { "stream_grab_timeout",
+               tweak_uint, &mgt_param.stream_grab_timeout, 0, UINT_MAX,
+               "Wait at most this long for an idle worker to appear when "
+               "grabbing a thread for background fetch.\n",
+               EXPERIMENTAL,
+               "100", "milliseconds" },
 #ifdef SENDFILE_WORKS
        { "sendfile_threshold",
                tweak_bytes, &mgt_param.sendfile_threshold, 0, HUGE_VAL,
-- 
1.7.4.1


_______________________________________________
varnish-dev mailing list
[email protected]
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-dev

Reply via email to