Hello community,
here is the log from the commit of package perl-Mojolicious for
openSUSE:Factory checked in at 2020-10-12 13:57:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mojolicious (Old)
and /work/SRC/openSUSE:Factory/.perl-Mojolicious.new.3486 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mojolicious"
Mon Oct 12 13:57:58 2020 rev:143 rq:839314 version:8.61
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Mojolicious/perl-Mojolicious.changes
2020-09-29 19:02:16.693808096 +0200
+++
/work/SRC/openSUSE:Factory/.perl-Mojolicious.new.3486/perl-Mojolicious.changes
2020-10-12 13:59:17.702215605 +0200
@@ -1,0 +2,10 @@
+Sat Oct 3 11:22:22 UTC 2020 - Oliver Kurz <[email protected]>
+
+- updated to 8.61
+ see /usr/share/doc/packages/perl-Mojolicious/Changes
+
+ 8.61 2020-10-01
+ - Fixed fork-safety feature in Mojo::UserAgent to work with more than one
fork.
+ - Fixed reset method in Mojo::IOLoop to not interfere with close events
anymore, since that resulted in leaks.
+
+-------------------------------------------------------------------
Old:
----
Mojolicious-8.60.tar.gz
New:
----
Mojolicious-8.61.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Mojolicious.spec ++++++
--- /var/tmp/diff_new_pack.rxOsyv/_old 2020-10-12 13:59:18.294215852 +0200
+++ /var/tmp/diff_new_pack.rxOsyv/_new 2020-10-12 13:59:18.298215853 +0200
@@ -17,7 +17,7 @@
Name: perl-Mojolicious
-Version: 8.60
+Version: 8.61
Release: 0
%define cpan_name Mojolicious
Summary: Real-time web framework
++++++ Mojolicious-8.60.tar.gz -> Mojolicious-8.61.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojolicious-8.60/Changes new/Mojolicious-8.61/Changes
--- old/Mojolicious-8.60/Changes 2020-09-27 17:46:20.000000000 +0200
+++ new/Mojolicious-8.61/Changes 2020-10-01 16:06:35.000000000 +0200
@@ -1,4 +1,8 @@
+8.61 2020-10-01
+ - Fixed fork-safety feature in Mojo::UserAgent to work with more than one
fork.
+ - Fixed reset method in Mojo::IOLoop to not interfere with close events
anymore, since that resulted in leaks.
+
8.60 2020-09-27
- Improved reset method in Mojo::IOLoop to prevent close event to be emitted
in affected streams. (kiwiroy)
- Improved cookbook with Envoy deployment recipe. (zakame)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojolicious-8.60/META.json
new/Mojolicious-8.61/META.json
--- old/Mojolicious-8.60/META.json 2020-09-27 17:49:37.000000000 +0200
+++ new/Mojolicious-8.61/META.json 2020-10-02 13:01:03.000000000 +0200
@@ -63,6 +63,6 @@
"web" : "https://webchat.freenode.net/#mojo"
}
},
- "version" : "8.60",
+ "version" : "8.61",
"x_serialization_backend" : "JSON::PP version 4.05"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojolicious-8.60/META.yml
new/Mojolicious-8.61/META.yml
--- old/Mojolicious-8.60/META.yml 2020-09-27 17:49:37.000000000 +0200
+++ new/Mojolicious-8.61/META.yml 2020-10-02 13:01:02.000000000 +0200
@@ -34,5 +34,5 @@
homepage: https://mojolicious.org
license: http://www.opensource.org/licenses/artistic-license-2.0
repository: https://github.com/mojolicious/mojo.git
-version: '8.60'
+version: '8.61'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojolicious-8.60/lib/Mojo/IOLoop.pm
new/Mojolicious-8.61/lib/Mojo/IOLoop.pm
--- old/Mojolicious-8.60/lib/Mojo/IOLoop.pm 2020-09-27 02:33:25.000000000
+0200
+++ new/Mojolicious-8.61/lib/Mojo/IOLoop.pm 2020-10-01 16:06:47.000000000
+0200
@@ -95,7 +95,6 @@
sub reset {
my $self = _instance(shift)->emit('reset');
- $self->stream($_)->unsubscribe('close') for (keys %{$self->{in}}, keys
%{$self->{out}});
delete @$self{qw(accepting acceptors events in out stop)};
$self->reactor->reset;
$self->stop;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojolicious-8.60/lib/Mojo/UserAgent.pm
new/Mojolicious-8.61/lib/Mojo/UserAgent.pm
--- old/Mojolicious-8.60/lib/Mojo/UserAgent.pm 2020-09-17 13:42:07.000000000
+0200
+++ new/Mojolicious-8.61/lib/Mojo/UserAgent.pm 2020-10-01 16:02:31.000000000
+0200
@@ -51,7 +51,8 @@
my ($self, $tx, $cb) = @_;
# Fork-safety
- $self->_cleanup->server->restart unless ($self->{pid} //= $$) eq $$;
+ $self->_cleanup->server->restart if $self->{pid} && $self->{pid} ne $$;
+ $self->{pid} //= $$;
# Non-blocking
if ($cb) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojolicious-8.60/lib/Mojolicious.pm
new/Mojolicious-8.61/lib/Mojolicious.pm
--- old/Mojolicious-8.60/lib/Mojolicious.pm 2020-09-19 20:54:34.000000000
+0200
+++ new/Mojolicious-8.61/lib/Mojolicious.pm 2020-10-01 15:18:43.000000000
+0200
@@ -58,7 +58,7 @@
has validator => sub { Mojolicious::Validator->new };
our $CODENAME = 'Supervillain';
-our $VERSION = '8.60';
+our $VERSION = '8.61';
sub BUILD_DYNAMIC {
my ($class, $method, $dyn_methods) = @_;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojolicious-8.60/t/mojo/ioloop.t
new/Mojolicious-8.61/t/mojo/ioloop.t
--- old/Mojolicious-8.60/t/mojo/ioloop.t 2020-09-27 02:33:17.000000000
+0200
+++ new/Mojolicious-8.61/t/mojo/ioloop.t 2020-10-01 16:08:28.000000000
+0200
@@ -83,19 +83,18 @@
};
subtest 'Handle and reset' => sub {
- my ($handle, $handle2, $reset, $close);
+ my ($handle, $handle2, $reset);
Mojo::IOLoop->singleton->on(reset => sub { $reset++ });
my $id = Mojo::IOLoop->server(
(address => '127.0.0.1') => sub {
my ($loop, $stream) = @_;
- $stream->on(close => sub { $close++ });
$handle = $stream->handle;
Mojo::IOLoop->stop;
}
);
my $port = Mojo::IOLoop->acceptor($id)->port;
Mojo::IOLoop->acceptor($id)->on(accept => sub { $handle2 = pop });
- my $id2 = Mojo::IOLoop->client((address => '127.0.0.1', port => $port) =>
sub { pop->on(close => sub { $close++ })});
+ my $id2 = Mojo::IOLoop->client((address => '127.0.0.1', port => $port) =>
sub { });
Mojo::IOLoop->start;
my ($count, $running, $timer) = (0) x 3;
Mojo::IOLoop->recurring(10 => sub { $timer++ });
@@ -111,7 +110,6 @@
is $handle, $handle2, 'handles are equal';
isa_ok $handle, 'IO::Socket', 'right reference';
is $reset, 1, 'reset event has been emitted once';
- is $close, undef, 'reset unsubscribed close on streams';
};
subtest 'The poll reactor stops when there are no events being watched
anymore' => sub {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojolicious-8.60/t/mojo/user_agent.t
new/Mojolicious-8.61/t/mojo/user_agent.t
--- old/Mojolicious-8.60/t/mojo/user_agent.t 2020-09-17 13:41:35.000000000
+0200
+++ new/Mojolicious-8.61/t/mojo/user_agent.t 2020-10-01 16:02:37.000000000
+0200
@@ -517,33 +517,39 @@
is $tx->res->code, 200, 'right status';
is $tx->res->body, 'works!', 'right content';
-# Fork-safety
-$tx = $ua->get('/');
-ok $tx->keep_alive, 'keep connection alive';
-is $tx->res->body, 'works!', 'right content';
-my $last = $tx->connection;
-$port = $ua->server->url->port;
-$tx = $ua->get('/');
-is $tx->res->body, 'works!', 'right content';
-is $tx->connection, $last, 'same connection';
-is $ua->server->url->port, $port, 'same port';
-{
- local $$ = -23;
- $tx = $ua->get('/');
- ok !$tx->kept_alive, 'kept connection not alive';
+subtest 'Fork-safety' => sub {
+ my $tx = $ua->get('/');
ok $tx->keep_alive, 'keep connection alive';
is $tx->res->body, 'works!', 'right content';
- isnt $tx->connection, $last, 'new connection';
- isnt $ua->server->url->port, $port, 'new port';
- $port = $ua->server->url->port;
- $last = $tx->connection;
- $tx = $ua->get('/');
- ok $tx->kept_alive, 'kept connection alive';
- ok $tx->keep_alive, 'keep connection alive';
+ my $last = $tx->connection;
+ my $port = $ua->server->url->port;
+ $tx = $ua->get('/');
is $tx->res->body, 'works!', 'right content';
is $tx->connection, $last, 'same connection';
is $ua->server->url->port, $port, 'same port';
-}
+ {
+ local $$ = -23;
+ my $tx = $ua->get('/');
+ ok !$tx->kept_alive, 'kept connection not alive';
+ ok $tx->keep_alive, 'keep connection alive';
+ is $tx->res->body, 'works!', 'right content';
+ isnt $tx->connection, $last, 'new connection';
+ isnt $ua->server->url->port, $port, 'new port';
+ my $port2 = $ua->server->url->port;
+ my $last2 = $tx->connection;
+ {
+ local $$ = -24;
+ my $tx = $ua->get('/');
+ ok !$tx->kept_alive, 'kept connection not alive';
+ ok $tx->keep_alive, 'keep connection alive';
+ is $tx->res->body, 'works!', 'right content';
+ isnt $tx->connection, $last, 'new connection';
+ isnt $tx->connection, $last2, 'new connection';
+ isnt $ua->server->url->port, $port, 'new port';
+ isnt $ua->server->url->port, $port2, 'new port';
+ }
+ }
+};
# Introspect
my $req = my $res = '';