1.45: (2005-08-23)
-- don't hang forever if there is a timer but no sockets
and looptimeout is -1. the problem was we always picked the
lesser time of LoopTimeout and NextTimerTimeout, but if LoopTimeout
was -1 (which means infinity), we preferred that, wrongly.
-- in RunTimers, calculate the milliseconds in integer, and add 1
to remove some floating point weirdness which caused 20-30 extra
loops which accomplished nothing. see comments.
1.44: (2005-08-16)
-- fix another bug in push_back_read... ancient: comma instead of
semi-colon (can you tell nobody used this function before?)
-- fix a bug in push_back_read ... apparently it never actually
worked when you asked for less bytes than were available.
-- adds code for when kqueue returns a fd we don't have a
mapping for (Matt Sergeant)
-- generic timer support (Matt Sergeant), use HiRes and rearrange
to share some code (Brad)
-- make tcp_cork a noop on non-linux (FIXME: port to bsd at least)
1.43:
-- don't even try epoll if not on a known/tested arch
-- updated POD docs
1.42:
-- use the right epoll system call numbers on non-x86
machines
-- start of a good test suite
-- 64-bit struct support (test suite passes on ia64, ppc)
(and presumably ppc64, but yet untested)
1.41:
-- make the Poll mode behave like Epoll/Kqueue in that
fds returned w/ no corresponding Danga::Socket object
or OtherFds coderef just get ignored. make it robust
against apps with races, perhaps? patch from Justin Azoff
<JAzoff@uamail.albany.edu>
1.40:
-- Kqueue support from Matt Sergeant
1.39:
-- make BSD::Resource optional
1.38:
-- added support for profiling (epoll only at the moment while this
feature is further fleshed out); user application is required to
enable profiling and actually process the resultant data
-- if epoll_wait returns an event we can't handle, delete it.
this means the application fucked up and lost its state somehow.
or maybe Danga::Socket did? still debugging this in Perlbal.
1.25: (2004-10-22)
-- move the syscall.ph require into "package main" rather than stealing
all its definitions into our namespace. now other modules can
use syscall.ph and Danga::Socket at the same time (as long as they're
also polite and load it into main) (NOTE: if you know a better way
to do this, let us know...)
1.24: (2004-10-21)
-- ability to steal the underlying socket from the Danga::Socket
object. this is useful if a caller wants to hold onto the socket
but destroy the Danga::Socket object (previously the Danga::Socket
close would close the underlying socket)
1.22: (2004-10-21)
-- minimal POD docs
-- first public release