Bugzilla – Attachment 26329 Details for
Bug 11701
Fix C4::Context::Zconn
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 11701: Fix C4::Context::Zconn
Bug-11701-Fix-C4ContextZconn.patch (text/plain), 2.19 KB, created by
Julian Maurice
on 2014-03-14 09:18:33 UTC
(
hide
)
Description:
Bug 11701: Fix C4::Context::Zconn
Filename:
MIME Type:
Creator:
Julian Maurice
Created:
2014-03-14 09:18:33 UTC
Size:
2.19 KB
patch
obsolete
>From a26269c5efe2e8eea9bbe51cb489a994aa1ca9e2 Mon Sep 17 00:00:00 2001 >From: Julian Maurice <julian.maurice@biblibre.com> >Date: Wed, 13 Nov 2013 14:21:40 +0100 >Subject: [PATCH] Bug 11701: Fix C4::Context::Zconn > >When calling C4::Context::Zconn twice with different parameters, the >same ZOOM::Connection object is returned twice (parameters of 2nd call >are not used) >This patch fixes that. >--- > C4/Context.pm | 19 ++++++++----------- > 1 file changed, 8 insertions(+), 11 deletions(-) > >diff --git a/C4/Context.pm b/C4/Context.pm >index 5a76137..71a0f8c 100644 >--- a/C4/Context.pm >+++ b/C4/Context.pm >@@ -688,14 +688,11 @@ C<$auth> whether this connection has rw access (1) or just r access (0 or NULL) > =cut > > sub Zconn { >- my $self=shift; >- my $server=shift; >- my $async=shift; >- my $auth=shift; >- my $piggyback=shift; >- my $syntax=shift; >- if ( defined($context->{"Zconn"}->{$server}) && (0 == $context->{"Zconn"}->{$server}->errcode()) ) { >- return $context->{"Zconn"}->{$server}; >+ my ($self, $server, $async, $auth, $piggyback, $syntax) = @_; >+ >+ my $cache_key = join ('::', (map { $_ // '' } ($server, $async, $auth, $piggyback, $syntax))); >+ if ( defined($context->{"Zconn"}->{$cache_key}) && (0 == $context->{"Zconn"}->{$cache_key}->errcode()) ) { >+ return $context->{"Zconn"}->{$cache_key}; > # No connection object or it died. Create one. > }else { > # release resources if we're closing a connection and making a new one >@@ -704,10 +701,10 @@ sub Zconn { > # and make a new one, particularly for a batch job. However, at > # first glance it does not look like there's a way to easily check > # the basic health of a ZOOM::Connection >- $context->{"Zconn"}->{$server}->destroy() if defined($context->{"Zconn"}->{$server}); >+ $context->{"Zconn"}->{$cache_key}->destroy() if defined($context->{"Zconn"}->{$cache_key}); > >- $context->{"Zconn"}->{$server} = &_new_Zconn($server,$async,$auth,$piggyback,$syntax); >- return $context->{"Zconn"}->{$server}; >+ $context->{"Zconn"}->{$cache_key} = &_new_Zconn($server,$async,$auth,$piggyback,$syntax); >+ return $context->{"Zconn"}->{$cache_key}; > } > } > >-- >1.7.10.4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 11701
:
25101
|
25102
|
25439
|
26328
|
26329
|
26361
|
26362
|
26506
|
26507