From ee6b0dac82b05ef83b497787591de8b3645e0288 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 24 Feb 2017 00:47:45 +0000 Subject: git: move async detection to runtime We don't actually know what context we'll be called under, so detecting the mere use-ability of Danga::Socket is not sufficient. --- lib/PublicInbox/Git.pm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'lib') diff --git a/lib/PublicInbox/Git.pm b/lib/PublicInbox/Git.pm index caca3b09..3ca0b680 100644 --- a/lib/PublicInbox/Git.pm +++ b/lib/PublicInbox/Git.pm @@ -274,12 +274,13 @@ sub cat_async_compat ($$$) { fail($self, 'newline missing after blob') if ($r != 1 || $buf ne "\n"); } -if ($have_async) { - *check_async = *check_async_ds; - *cat_async = *cat_async_ds; -} else { - *check_async = *check_async_compat; - *cat_async = *cat_async_compat; +sub check_async { + my ($self, $env, $obj, $cb) = @_; + if ($env->{'pi-httpd.async'}) { + check_async_ds($self, $obj, $cb); + } else { + check_async_compat($self, $obj, $cb); + } } 1; -- cgit v1.2.3-24-ge0c7