[SCM] Debian packaging of libcoro-perl branch, master, updated. debian/6.050-1-4-gf40b227

Alessandro Ghedini al3xbio at gmail.com
Tue Aug 9 15:20:33 UTC 2011


The following commit has been merged in the master branch:
commit a5e872d85397814a6bd262f1e27e8f2b81087275
Author: Alessandro Ghedini <al3xbio at gmail.com>
Date:   Tue Aug 9 17:13:38 2011 +0200

    Imported Upstream version 6.060

diff --git a/Changes b/Changes
index eb66c38..2df3820 100644
--- a/Changes
+++ b/Changes
@@ -4,6 +4,16 @@ TODO: should explore PerlIO::coroaio (perl leaks like hell).
 TODO: channel->maxsize(newsize)?
 TODO: http://www.microsoft.com/msj/archive/s2ce.aspx
 
+6.06 Mon Aug  8 23:59:48 CEST 2011
+	- cygwin unfortunately patches the stack at runtime, so we use the pthreads
+          backend, which is an order of magnitutde slower. unfortunately, cygwins
+          pthread implementation isn't very complete either, so allocate the stack
+          twice just to be sure.
+          (note: cygwin also enables mymalloc, which is NOT THREADSAFE ON WINDOWS,
+          in its ithreaded perl - best recompile cygwin and use the 'w'indows
+          backend for much better performance. also disable ithreads for
+          even better performance...).
+
 6.05 Thu Aug  4 21:36:36 CEST 2011
 	- blush, condvar values would not be propagated from send to recv anymore
           (reported by Chip Salzenberg).
diff --git a/Coro.pm b/Coro.pm
index 14feb09..9a1e653 100644
--- a/Coro.pm
+++ b/Coro.pm
@@ -344,7 +344,7 @@ our $idle;    # idle handler
 our $main;    # main coro
 our $current; # current coro
 
-our $VERSION = 6.05;
+our $VERSION = 6.06;
 
 our @EXPORT = qw(async async_pool cede schedule terminate current unblock_sub rouse_cb rouse_wait);
 our %EXPORT_TAGS = (
diff --git a/Coro/AIO.pm b/Coro/AIO.pm
index c980b4c..7a46b68 100644
--- a/Coro/AIO.pm
+++ b/Coro/AIO.pm
@@ -69,7 +69,7 @@ use Coro::AnyEvent ();
 
 use base Exporter::;
 
-our $VERSION = 6.05;
+our $VERSION = 6.06;
 
 our @EXPORT    = (@IO::AIO::EXPORT, qw(aio_wait));
 our @EXPORT_OK = @IO::AIO::EXPORT_OK;
diff --git a/Coro/AnyEvent.pm b/Coro/AnyEvent.pm
index 366aa02..6ef5320 100644
--- a/Coro/AnyEvent.pm
+++ b/Coro/AnyEvent.pm
@@ -164,7 +164,7 @@ use common::sense;
 use Coro;
 use AnyEvent ();
 
-our $VERSION = 6.05;
+our $VERSION = 6.06;
 
 #############################################################################
 # idle handler
diff --git a/Coro/BDB.pm b/Coro/BDB.pm
index 48a3c21..ac4d4cd 100644
--- a/Coro/BDB.pm
+++ b/Coro/BDB.pm
@@ -47,7 +47,7 @@ use Coro::AnyEvent ();
 
 use base Exporter::;
 
-our $VERSION = 6.05;
+our $VERSION = 6.06;
 our $WATCHER;
 
 BDB::set_sync_prepare {
diff --git a/Coro/Channel.pm b/Coro/Channel.pm
index 125c81c..98c4b25 100644
--- a/Coro/Channel.pm
+++ b/Coro/Channel.pm
@@ -35,7 +35,7 @@ use common::sense;
 use Coro ();
 use Coro::Semaphore ();
 
-our $VERSION = 6.05;
+our $VERSION = 6.06;
 
 sub DATA (){ 0 }
 sub SGET (){ 1 }
diff --git a/Coro/Debug.pm b/Coro/Debug.pm
index 9e7b051..ef613c9 100644
--- a/Coro/Debug.pm
+++ b/Coro/Debug.pm
@@ -121,7 +121,7 @@ use Coro::State ();
 use Coro::AnyEvent ();
 use Coro::Timer ();
 
-our $VERSION = 6.05;
+our $VERSION = 6.06;
 
 our %log;
 our $SESLOGLEVEL = exists $ENV{PERL_CORO_DEFAULT_LOGLEVEL} ? $ENV{PERL_CORO_DEFAULT_LOGLEVEL} : -1;
diff --git a/Coro/Handle.pm b/Coro/Handle.pm
index 7607b07..2a91939 100644
--- a/Coro/Handle.pm
+++ b/Coro/Handle.pm
@@ -45,7 +45,7 @@ use AnyEvent::Util qw(WSAEWOULDBLOCK WSAEINPROGRESS);
 
 use base 'Exporter';
 
-our $VERSION = 6.05;
+our $VERSION = 6.06;
 our @EXPORT = qw(unblock);
 
 =item $fh = new_from_fh Coro::Handle $fhandle [, arg => value...]
diff --git a/Coro/LWP.pm b/Coro/LWP.pm
index 6f12656..b47a0ba 100644
--- a/Coro/LWP.pm
+++ b/Coro/LWP.pm
@@ -126,7 +126,7 @@ use Net::HTTP ();
 use Net::FTP ();
 use Net::NNTP ();
 
-our $VERSION = 6.05;
+our $VERSION = 6.06;
 
 *Socket::inet_aton = \&Coro::Util::inet_aton;
 
diff --git a/Coro/MakeMaker.pm b/Coro/MakeMaker.pm
index a4086fa..87482ea 100644
--- a/Coro/MakeMaker.pm
+++ b/Coro/MakeMaker.pm
@@ -7,7 +7,7 @@ use base 'Exporter';
 
 our $installsitearch;
 
-our $VERSION = 6.05;
+our $VERSION = 6.06;
 our @EXPORT_OK = qw(&coro_args $installsitearch);
 
 my %opt;
diff --git a/Coro/Makefile.PL b/Coro/Makefile.PL
index a4c73c2..5fa2454 100644
--- a/Coro/Makefile.PL
+++ b/Coro/Makefile.PL
@@ -45,10 +45,15 @@ my $pthread = $Config{libs} =~ /-lpthread/
 if (exists $ENV{CORO_INTERFACE}) {
    $iface = $ENV{CORO_INTERFACE};
 
-} elsif ($^O =~ /win32/i or $^O =~ /cygwin/ or $^O =~ /mswin/) {
+} elsif ($^O =~ /mswin32/i) {
    # nothing works, really, without deep hacks
    $iface = 'w';
 
+} elsif ($^O =~ /cygwin/) {
+   # cygwin true to its form, be an order of magnitutde slower,
+   # while using twice the amount of ram. yeah!
+   $iface = 'p';
+
 } elsif ($^O =~ /irix/) {
    # sigaltstack works like sigstack, i.e. expects stack pointer, not stack base
    # but wikipeida lists it as 100% posix compliant. geeeee.
diff --git a/Coro/RWLock.pm b/Coro/RWLock.pm
index 45718e2..03d160f 100644
--- a/Coro/RWLock.pm
+++ b/Coro/RWLock.pm
@@ -38,7 +38,7 @@ use common::sense;
 
 use Coro ();
 
-our $VERSION = 6.05;
+our $VERSION = 6.06;
 
 =item $l = new Coro::RWLock;
 
diff --git a/Coro/Select.pm b/Coro/Select.pm
index 263b242..90d89ab 100644
--- a/Coro/Select.pm
+++ b/Coro/Select.pm
@@ -67,7 +67,7 @@ use Coro::AnyEvent ();
 
 use base Exporter::;
 
-our $VERSION = 6.05;
+our $VERSION = 6.06;
 our @EXPORT_OK = "select";
 
 sub import {
diff --git a/Coro/Semaphore.pm b/Coro/Semaphore.pm
index a030a69..126573a 100644
--- a/Coro/Semaphore.pm
+++ b/Coro/Semaphore.pm
@@ -40,7 +40,7 @@ use common::sense;
 
 use Coro ();
 
-our $VERSION = 6.05;
+our $VERSION = 6.06;
 
 =item new [inital count]
 
diff --git a/Coro/SemaphoreSet.pm b/Coro/SemaphoreSet.pm
index aca5cc0..99a0929 100644
--- a/Coro/SemaphoreSet.pm
+++ b/Coro/SemaphoreSet.pm
@@ -35,7 +35,7 @@ package Coro::SemaphoreSet;
 
 use common::sense;
 
-our $VERSION = 6.05;
+our $VERSION = 6.06;
 
 use Coro::Semaphore ();
 
diff --git a/Coro/Signal.pm b/Coro/Signal.pm
index 28da78b..e7bc4d3 100644
--- a/Coro/Signal.pm
+++ b/Coro/Signal.pm
@@ -38,7 +38,7 @@ use common::sense;
 
 use Coro::Semaphore ();
 
-our $VERSION = 6.05;
+our $VERSION = 6.06;
 
 =item $sig = new Coro::Signal;
 
diff --git a/Coro/Socket.pm b/Coro/Socket.pm
index 5ecaa52..d72c0e7 100644
--- a/Coro/Socket.pm
+++ b/Coro/Socket.pm
@@ -73,7 +73,7 @@ use Coro::Util ();
 
 use base qw(Coro::Handle IO::Socket::INET);
 
-our $VERSION = 6.05;
+our $VERSION = 6.06;
 
 our (%_proto, %_port);
 
diff --git a/Coro/Specific.pm b/Coro/Specific.pm
index 9534107..e2cb1d2 100644
--- a/Coro/Specific.pm
+++ b/Coro/Specific.pm
@@ -36,7 +36,7 @@ package Coro::Specific;
 
 use common::sense;
 
-our $VERSION = 6.05;
+our $VERSION = 6.06;
 
 =item new
 
diff --git a/Coro/State.pm b/Coro/State.pm
index 29c358b..6bd09b2 100644
--- a/Coro/State.pm
+++ b/Coro/State.pm
@@ -90,7 +90,7 @@ sub warnhook { &$WARNHOOK }
 use XSLoader;
 
 BEGIN {
-   our $VERSION = 6.05;
+   our $VERSION = 6.06;
 
    # must be done here because the xs part expects it to exist
    # it might exist already because Coro::Specific created it.
diff --git a/Coro/Storable.pm b/Coro/Storable.pm
index 6c557ec..fc4e84c 100644
--- a/Coro/Storable.pm
+++ b/Coro/Storable.pm
@@ -84,7 +84,7 @@ BEGIN {
 use Storable;
 use base "Exporter";
 
-our $VERSION = 6.05;
+our $VERSION = 6.06;
 our @EXPORT = qw(thaw freeze nfreeze blocking_thaw blocking_freeze blocking_nfreeze);
 
 our $GRANULARITY = 0.01;
diff --git a/Coro/Timer.pm b/Coro/Timer.pm
index 65dd600..ab3b110 100644
--- a/Coro/Timer.pm
+++ b/Coro/Timer.pm
@@ -30,7 +30,7 @@ use base Exporter::;
 use Coro ();
 use Coro::AnyEvent ();
 
-our $VERSION = 6.05;
+our $VERSION = 6.06;
 our @EXPORT_OK = qw(timeout sleep);
 
 # compatibility with older programs
diff --git a/Coro/Util.pm b/Coro/Util.pm
index 530497d..45a585f 100644
--- a/Coro/Util.pm
+++ b/Coro/Util.pm
@@ -41,7 +41,7 @@ use base 'Exporter';
 our @EXPORT = qw(gethostbyname gethostbyaddr);
 our @EXPORT_OK = qw(inet_aton fork_eval);
 
-our $VERSION = 6.05;
+our $VERSION = 6.06;
 
 our $MAXPARALLEL = 16; # max. number of parallel jobs
 
diff --git a/Coro/libcoro/coro.c b/Coro/libcoro/coro.c
index 194cd46..615af83 100644
--- a/Coro/libcoro/coro.c
+++ b/Coro/libcoro/coro.c
@@ -438,6 +438,9 @@ coro_create (coro_context *ctx, coro_func coro, void *arg, void *sptr, long ssiz
 #if __UCLIBC__
       /* exists, but is borked */
       /*pthread_attr_setstacksize (&attr, (size_t)ssize);*/
+#elif __CYGWIN__
+      /* POSIX, not here */
+      pthread_attr_setstacksize (&attr, (size_t)ssize);
 #else
       pthread_attr_setstack (&attr, sptr, (size_t)ssize);
 #endif
diff --git a/Coro/libcoro/coro.h b/Coro/libcoro/coro.h
index 067a6d4..52bb428 100644
--- a/Coro/libcoro/coro.h
+++ b/Coro/libcoro/coro.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001-2009 Marc Alexander Lehmann <schmorp at schmorp.de>
+ * Copyright (c) 2001-2011 Marc Alexander Lehmann <schmorp at schmorp.de>
  * 
  * Redistribution and use in source and binary forms, with or without modifica-
  * tion, are permitted provided that the following conditions are met:
@@ -74,6 +74,7 @@
  *            use .cfi_undefined rip on linux-amd64 for better backtraces.
  * 2011-06-08 maybe properly implement weird windows amd64 calling conventions.
  * 2011-07-03 rely on __GCC_HAVE_DWARF2_CFI_ASM for cfi detection.
+ * 2011-08-08 cygwin trashes stacks, use pthreads with double stack on cygwin.
  */
 
 #ifndef CORO_H
diff --git a/EV/EV.pm b/EV/EV.pm
index 99385cb..30c0751 100644
--- a/EV/EV.pm
+++ b/EV/EV.pm
@@ -60,7 +60,7 @@ use EV ();
 use XSLoader;
 
 BEGIN {
-   our $VERSION = 6.05;
+   our $VERSION = 6.06;
 
    local $^W = 0; # avoid redefine warning for Coro::ready;
    XSLoader::load __PACKAGE__, $VERSION;
diff --git a/Event/Event.pm b/Event/Event.pm
index 47d236b..1ae0fbb 100644
--- a/Event/Event.pm
+++ b/Event/Event.pm
@@ -92,7 +92,7 @@ use base Exporter::;
 our @EXPORT = qw(loop unloop sweep);
 
 BEGIN {
-   our $VERSION = 6.05;
+   our $VERSION = 6.06;
 
    local $^W = 0; # avoid redefine warning for Coro::ready;
    XSLoader::load __PACKAGE__, $VERSION;
diff --git a/META.json b/META.json
index cde553c..353b255 100644
--- a/META.json
+++ b/META.json
@@ -50,5 +50,5 @@
       }
    },
    "release_status" : "stable",
-   "version" : "6.05"
+   "version" : "6.06"
 }
diff --git a/META.yml b/META.yml
index e433c12..b124f44 100644
--- a/META.yml
+++ b/META.yml
@@ -31,4 +31,4 @@ requires:
   Storable: 2.15
   Time::HiRes: 0
   common::sense: 0
-version: 6.05
+version: 6.06

-- 
Debian packaging of libcoro-perl



More information about the Pkg-perl-cvs-commits mailing list