This version was released on 2007-07-23.

  2007-07-23 07:25:09 (r2202) by rcaputo; poe/lib/POE.pm M

    Bump up the version. 

  2007-07-23 07:22:57 (r2201) by rcaputo
  poe/lib/POE/Resource/Events.pm M; poe/lib/POE/Loop/TkCommon.pm M

    Resolve a CPU spinning issue when using the Tk event loop without any
    event watchers. Resolves ticket 27359 reported by Craig at Lucent.
    Others have also reported this issue, but not in a ticket. :) 

  2007-07-23 01:37:08 (r2200) by rcaputo
  poe/lib/POE/Loop/TkActiveState.pm M

    Avoid a warning about ambiguous use of select().

  2007-07-22 08:37:07 (r2199) by rcaputo
  poe/lib/POE/Wheel/ReadWrite.pm M

    Apply Gareth's patch for an optional synchronous put() and a flush()
    method with which to flush the wheel's buffer on command. Resolves
    rt.cpan.org ticket 20328. 

  2007-07-22 06:15:17 (r2198) by rcaputo
  poe/t/30_loops/00_base/wheel_run.pm M

    Add a brief sleep to the child program to allow pipes to be flushed
    before the program exits. Andreas Koenig brought this to my attention
    via CPAN test reports and rt.cpan.org ticket 27478. 

  2007-07-22 02:21:32 (r2197) by rcaputo; poe/lib/POE/Queue/Array.pm M

    Mark Jason Dominus' binary insert example (Higher Order Perl, p. 292)
    inspired me to benchmark POE::Queue::Array against his algorithm. The
    linear seeks become slower after queues of depth 4. They're
    neck-and-neck for shorter ones. POE::Queue::Array's algorithm is a
    little faster otherwise, probably due to the special cases it
    implements.
    
    This patch removes the linear search cases for "small" queues. They
    were not being helpful. It also simplifies the binary search code,
    which is always a plus (Perl runs faster if it runs less code).
    Finally, it simplifies the remaining necessary linear search code...
    but that's after a binary seek anyway.
    
    Net loss: 94 lines of code. All tests still pass. 

  2007-07-21 07:04:55 (r2196) by rcaputo
  poe/lib/POE/Component/Server/TCP.pm M

    Resolve rt.cpan.org ticket 27833. Philip Gwyn found a case where the
    connection count for a server could go negative. Not-shutting-down
    hilarity ensues in this case. I've just applied his patch. 

  2007-07-21 06:52:55 (r2195) by rcaputo
  poe/t/30_loops/00_base/wheel_sf_ipv6.pm M

    Eric Hacker found a case where the IPv6 tests failed when AF_INET6
    isn't supplied by Socket6. This commit wraps the use of that constant
    in a block eval and skips all the tests if there's a failure. At
    least I hope that's the case. Should resolve rt.cpan.org ticket
    25879. 

  2007-07-21 06:51:26 (r2194) by rcaputo
  poe/lib/POE/Wheel/SocketFactory.pm M

    Oops. Remove tabs.

  2007-07-21 06:40:31 (r2193) by rcaputo
  poe/lib/POE/Wheel/SocketFactory.pm M

    Per STRO's suggestion, test and provide dummies for the IPv6
    constants separately. Resolves rt.cpan.org ticket 27250. 

  2007-07-04 21:31:15 (r2192) by rcaputo
  poe/lib/POE/Resource/Signals.pm M

    Yuval Kogman discovered that sig_child() events were not triggering
    after a second POE::Kernel->run() in the same program. We tracked
    this down to a static compile-time initialization. Moving that into
    POE::Resource::Signals::_data_sig_initialize() fixed the problem
    right up. 

  2007-06-14 01:26:41 (r2191) by rcaputo; poe/mylib/PoeBuildInfo.pm M

    Rob Bloodgood found a new deprecation. This change works around it.

  2007-05-24 05:52:46 (r2190) by immute; poe/lib/POE/Wheel/ReadWrite.pm M

    Added handle accessors to Wheel::ReadWrite

  2007-05-08 20:32:50 (r2189) by rcaputo
  poe/lib/POE/Wheel/SocketFactory.pm M

    Shevek suggested that Fcntl be used to import F_GETFL, F_SETFL and
    O_NONBLOCK since POSIX doesn't always do it. Tests here show that
    using both doesn't throw warnings, so there doesn't seem to be harm
    in it.

  2007-04-29 06:38:11 (r2188) by rcaputo
  poe/lib/POE/Filter/HTTPD.pm M; poe/t/10_units/05_filters/03_http.t M

    Marlon Bailey discovered that POE::Filter::HTTPD threw incorrect
    objects when methods were of mixed case. Such as "GEt". This commit
    includes a test for the proper behavior and a fix. NB: You'll get
    back an HTTP::Request object with a mixed-case method. The filter
    does NOT force a particular case here. 

  2007-04-19 21:35:33 (r2187) by rcaputo
  poe/mylib/Makefile-5004.pm M; poe/lib/POE/Wheel/ReadLine.pm M;
  poe/mylib/Makefile-5005.pm M; poe/lib/POE/Filter/HTTPD.pm M;
  poe/lib/POE/Filter/Block.pm M; poe/MANIFEST M;
  poe/lib/POE/Driver/SysRW.pm M; poe/lib/POE/Filter/Reference.pm M;
  poe/lib/POE/Wheel/SocketFactory.pm M

    I read on perl5-porters this trick to conditionally "use bytes"
    without source filtration. It works! And it's lexical! ZOMG! This
    commit replaces the stinky make-time source filter we were using with
    the compile-time trick. Thanks go out to Phil Harvey for coming up
    with the idea. 

  2007-04-06 19:53:33 (r2186) by rcaputo
  poe/lib/POE/Wheel/SocketFactory.pm M

    blocking() appears to be a FileHandle method, not an IO::Handle
    method. Use FileHandle explicitly to ensure it's loaded. 

  2007-03-30 05:09:23 (r2185) by rcaputo
  poe/lib/POE/Component/Server/TCP.pm M

    Cosmetic fixes in the high/low water mark code. 

Back to POE CHANGES.