r51186 - in /trunk/libgearman-client-perl: CHANGES META.yml debian/changelog lib/Gearman/Client.pm lib/Gearman/Taskset.pm lib/Gearman/Util.pm
jawnsy-guest at users.alioth.debian.org
jawnsy-guest at users.alioth.debian.org
Mon Jan 18 03:38:25 UTC 2010
Author: jawnsy-guest
Date: Mon Jan 18 03:38:18 2010
New Revision: 51186
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=51186
Log:
integrate another upstream release
Modified:
trunk/libgearman-client-perl/CHANGES
trunk/libgearman-client-perl/META.yml
trunk/libgearman-client-perl/debian/changelog
trunk/libgearman-client-perl/lib/Gearman/Client.pm
trunk/libgearman-client-perl/lib/Gearman/Taskset.pm
trunk/libgearman-client-perl/lib/Gearman/Util.pm
Modified: trunk/libgearman-client-perl/CHANGES
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libgearman-client-perl/CHANGES?rev=51186&op=diff
==============================================================================
--- trunk/libgearman-client-perl/CHANGES (original)
+++ trunk/libgearman-client-perl/CHANGES Mon Jan 18 03:38:18 2010
@@ -1,3 +1,11 @@
+1.11 (2010-01-17)
+
+ -- Switch read_res_packet to use sysread with a large buffer and offsets. This improves
+ memory usage (sometimes drastically) and performance.
+
+ -- Fix from Martin Atkins, don't print() in the Gearman::Util code and close sockets
+ when you have an error of some kind (indicating we're out of sync)
+
1.10 (2009-10-04)
-- Make workers wake up periodically for a particular server to make sure they aren't
Modified: trunk/libgearman-client-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libgearman-client-perl/META.yml?rev=51186&op=diff
==============================================================================
--- trunk/libgearman-client-perl/META.yml (original)
+++ trunk/libgearman-client-perl/META.yml Mon Jan 18 03:38:18 2010
@@ -1,7 +1,7 @@
# http://module-build.sourceforge.net/META-spec.html
#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
name: Gearman
-version: 1.10
+version: 1.11
version_from: lib/Gearman/Client.pm
installdirs: site
requires:
Modified: trunk/libgearman-client-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libgearman-client-perl/debian/changelog?rev=51186&op=diff
==============================================================================
--- trunk/libgearman-client-perl/debian/changelog (original)
+++ trunk/libgearman-client-perl/debian/changelog Mon Jan 18 03:38:18 2010
@@ -1,4 +1,4 @@
-libgearman-client-perl (1.10-1) UNRELEASED; urgency=low
+libgearman-client-perl (1.11-1) UNRELEASED; urgency=low
NOTE: fails to build when tested with a gearman-server
@@ -18,7 +18,7 @@
* Refresh copyright information to DEP5 format
* Add patch to fix POD errors
- -- Jonathan Yu <jawnsy at cpan.org> Wed, 06 Jan 2010 09:36:17 -0500
+ -- Jonathan Yu <jawnsy at cpan.org> Sun, 17 Jan 2010 22:45:25 -0500
libgearman-client-perl (1.09-1) unstable; urgency=low
Modified: trunk/libgearman-client-perl/lib/Gearman/Client.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libgearman-client-perl/lib/Gearman/Client.pm?rev=51186&op=diff
==============================================================================
--- trunk/libgearman-client-perl/lib/Gearman/Client.pm (original)
+++ trunk/libgearman-client-perl/lib/Gearman/Client.pm Mon Jan 18 03:38:18 2010
@@ -3,7 +3,7 @@
package Gearman::Client;
our $VERSION;
-$VERSION = '1.10';
+$VERSION = '1.11';
use strict;
use IO::Socket::INET;
Modified: trunk/libgearman-client-perl/lib/Gearman/Taskset.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libgearman-client-perl/lib/Gearman/Taskset.pm?rev=51186&op=diff
==============================================================================
--- trunk/libgearman-client-perl/lib/Gearman/Taskset.pm (original)
+++ trunk/libgearman-client-perl/lib/Gearman/Taskset.pm Mon Jan 18 03:38:18 2010
@@ -208,7 +208,6 @@
if (! $rv) {
shift @{ $ts->{need_handle} }; # ditch it, it failed.
# this will resubmit it if it failed.
- print " INITIAL SUBMIT FAILED\n";
return $task->fail;
}
}
Modified: trunk/libgearman-client-perl/lib/Gearman/Util.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libgearman-client-perl/lib/Gearman/Util.pm?rev=51186&op=diff
==============================================================================
--- trunk/libgearman-client-perl/lib/Gearman/Util.pm (original)
+++ trunk/libgearman-client-perl/lib/Gearman/Util.pm Mon Jan 18 03:38:18 2010
@@ -89,6 +89,7 @@
my $err = sub {
my $code = shift;
+ $sock->close() if $sock->connected;
$$err_ref = $code if ref $err_ref;
return undef;
};
@@ -104,19 +105,19 @@
return $err->("malformed_magic") unless $magic eq "\0RES";
if ($len) {
- # Start off trying to read the whole buffer. Store the bits in an array
- # one element for each read, then do a big join at the end. This minimizes
- # the number of memory allocations we have to do.
my $readlen = $len;
+ my $offset = 0;
my $lim = 20 + int( $len / 2**10 );
- my @buffers;
for (my $i = 0; $readlen > 0 && $i < $lim; $i++) {
- my $rv = sysread($sock, $buffers[$i], $readlen);
+ # Because we know the length of the data we need to read exactly, the
+ # most efficient way to do this in perl is with one giant buffer, and
+ # an appropriate offset passed to sysread.
+ my $rv = sysread($sock, $buf, $readlen, $offset);
return $err->("short_body") unless $rv > 0;
last unless $rv > 0;
$readlen -= $rv;
+ $offset += $rv;
}
- $buf = join('', @buffers);
return $err->("short_body") unless length($buf) == $len;
}
More information about the Pkg-perl-cvs-commits
mailing list