From aff26bf4657de76d77da4a1328ac5c4defc8ccfd Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 13 Jan 2023 10:35:48 +0000 Subject: [PATCH] qspawn: import Scalar::Util::blessed properly Scalar::Util may not be loaded by other modules in the future. --- lib/PublicInbox/Qspawn.pm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/PublicInbox/Qspawn.pm b/lib/PublicInbox/Qspawn.pm index c2d8fd73..0044c1f6 100644 --- a/lib/PublicInbox/Qspawn.pm +++ b/lib/PublicInbox/Qspawn.pm @@ -28,6 +28,7 @@ package PublicInbox::Qspawn; use v5.12; use PublicInbox::Spawn qw(popen_rd); use PublicInbox::GzipFilter; +use Scalar::Util qw(blessed); # n.b.: we get EAGAIN with public-inbox-httpd, and EINTR on other PSGI servers use Errno qw(EAGAIN EINTR); @@ -234,8 +235,9 @@ sub psgi_return_init_cb { # this may be PublicInbox::HTTPD::Async {cb} my $r = rd_hdr($self) or return; my $env = $self->{psgi_env}; my $filter; - if (ref($r) eq 'ARRAY' && Scalar::Util::blessed($r->[2]) && - $r->[2]->can('attach')) { + + # this is for RepoAtom since that can fire after parse_cgi_headers + if (ref($r) eq 'ARRAY' && blessed($r->[2]) && $r->[2]->can('attach')) { $filter = pop @$r; } $filter //= delete($env->{'qspawn.filter'}) // (ref($r) eq 'ARRAY' ? -- 2.44.0