1999-05-19 Joshua Pritikin * Release 0.41. * Added attributes() and configure() methods. 1999-05-18 Joshua Pritikin * When using eval {} inside a callback, $@ could fool Event into thinking that an exception is being thrown. 1999-05-17 Joshua Pritikin * Moved attributes from hash entries to methods. 1999-05-07 Joshua Pritikin * Fix unloop(''). 1999-05-06 Joshua Pritikin * Release 0.40. * Regularize event constructors. 1999-05-04 Joshua Pritikin * Doc fixes catalyzed by Jochen.Stenzel.gp@icn.siemens.de. 1999-04-27 Joshua Pritikin * Release 0.39. 1999-04-20 Joshua Pritikin * Fix broken t/eval.t. 1999-04-19 Joshua Pritikin * More conservative refcnt policy for watchers. 1999-04-16 Joshua Pritikin * Release 0.38. * Rename 'mom' to 'w'. * Deprecate the accessing of watcher attributes via events. * Fix PL_ macros again. (*Argh!*) 1999-04-14 Joshua Pritikin * Release 0.37. * Redesign typemap. 1999-04-12 Joshua Pritikin * Make 'e_cbtime' available from perl. Added test. 1999-04-09 Joshua Pritikin * Release 0.36. * Return unloop_all($arg) from loop(). * Make compile with threaded perl. 1999-04-07 Joshua Pritikin * Release 0.35. * Documentation updates and reorganization. * Switch inactivity from e_interval to e_timeout. 1999-04-06 Joshua Pritikin * Release 0.34. 1999-04-05 Joshua Pritikin * Plug typemap holes. Implementation still needs improvement. * Make io timeout respect e_repeat. (gisle@aas.no). 1999-03-30 Joshua Pritikin * Release 0.33. 1999-03-29 Joshua Pritikin * Store 'e_max_cb_tm' and hand-off to stats engine. 1999-03-17 Joshua Pritikin * Morph events into watchers when they go out of scope. 1999-03-16 Joshua Pritikin * Refine typemap fix. 1999-03-15 Joshua Pritikin * Release 0.32. * Apply typemap fix as per gsar@activestate.com. 1999-03-09 Joshua Pritikin * Cut version 0.31 for PerlClinic. 1999-03-05 Joshua Pritikin * Simplified typemap in an attempt to squash bugs. 1999-03-04 Joshua Pritikin * Search @INC in Event::MakeMaker. 1999-03-03 Joshua Pritikin * Make io timers non-repeating. * Relax io watchers more. Now they can be started with either e_fd or e_timeout or both or neither. 1999-03-02 Joshua Pritikin * Allow creation of io watchers without a valid e_fd. Should probably do the same with the rest of the watcher types. * Added e_suspend. Do we keep the 'suspend' and 'resume' methods? 1999-02-26 Joshua Pritikin * Fixed refcnt problem triggered by deleting hash entries. Added test. 1999-02-25 Joshua Pritikin * Avoid qr// in keys.t. 1999-02-12 Joshua Pritikin * Reroute C-API croak through Carp::croak. Added test. 1999-02-11 Joshua Pritikin * Removed backward compatibility up to 0.24 (inclusive). * Factored event init/dtor code. * Added 'callback' hooks. Updated docs. 1999-02-03 Joshua Pritikin * Release 0.30. * Constructors now populate the watcher hash with any extra unrecognized key-value pairs. 1999-02-01 Joshua Pritikin * Better typemap diagnostics. There seem to be bugs lurking but I can't construct a short test case... 1999-01-19 Joshua Pritikin * Arrange for events to have the same careful typemap treatment as do watchers. Added test. 1999-01-12 Joshua Pritikin * Release 0.29. * Unplugged Time::Virtual (suggested mainly by Sarathy, Nick and Graham). See patches/time-hires. 1998-12-30 Joshua Pritikin * Added AllWatchers & typemap functions to the public API. * Moved Event::Stats to a separate tarball. I wonder if the stats API is too restrictive? 1998-12-28 Joshua Pritikin * Split Event::Watcher code into a separate file for intuitive importing via 'use' (suggested by artur@vogon-solutions.com). * Fix SEGV in keys %$event (ophir@internap.com & artur@vogon-solutions.com). Added test. * Tweaks to diagnostics. 1998-12-27 Joshua Pritikin * Release 0.28. * Event destruction now must be managed explicitly. Use the 'stop' method to disable a watcher and use 'cancel' to destroy a watcher. This change is an unfortunate necessity because of optimizations in perl's reference counting. * Suspend & cancel now abort any pending events. In previous releases, the callback could be called after cancel in some cases. 1998-12-25 Joshua Pritikin * Release 0.27. * Replaced newHVhv. Some versions of perl have a buggy implementation. * Fixed a few minor problems detected by Insure++. 1998-12-24 Joshua Pritikin * Fixed typos in croak messages. * Generous updates to Event.pod. * Bumped version to 0.26. Merry Christmas!! * Renamed (lots of) keys. * Added 'use_keys' method. Comments? * (Try to) remove support for leading dashes (any left?). * Factor out code to Time::Virtual (& Time::HiRes). 1998-12-19 Joshua Pritikin * Moved process.pm to demo directory. 1998-12-08 Joshua Pritikin * Added discussion of event loops vs. threads (kudos to Mark.Mielke.markm@nt.com & fellow loop'ers). 1998-11-20 Joshua Pritikin * Release 0.25. 1998-11-19 Joshua Pritikin * Move SAVETMPS/FREETMPS up to Event::_loop. 1998-11-13 Joshua Pritikin * Split ACTIVE flag into two separate flags, ACTIVE & POLLING, to more accurately track watcher state. 1998-11-09 Joshua Pritikin * Tweaks to io 'events' mask handling. * Move @EXPORT_OK list for qw(R W E T) to Event::Watcher. 1998-11-06 Joshua Pritikin * Fix SEGV in all_watchers/all_idle if zero watchers present. 1998-11-04 Joshua Pritikin * Nuke obsolete backward support code in io.c. (Poll constants to set event mask.) * Rename event_vtbl->watcher. 1998-11-01 Joshua Pritikin * Release 0.24. [Massive code changes -- caution advised!] * Reengineered hash-object implementation to use HVs. 1998-10-31 Joshua Pritikin * Removed tailpoll support from io watchers. File::Tail can just hook up with timers & a generic "block on read" API can be built on top of that if need arises. Nick, this okay? * Split watchers & events into separate C structures. 1998-10-24 Joshua Pritikin * Fixed misbehaving autoload code. * END hook to cancel all events before global destruction. Still needs more work to be sure the memory is freed. * Fixed bad arithmetic in io timeout code. Renamed interval epsilon and added better diagnostics (see Event::_timeout_too_early). 1998-10-20 Joshua Pritikin * Timers cancelled within their callback weren't! Fixed. 1998-10-19 Joshua Pritikin * Fix typo in c/queue.c (thanks again Jan!). 1998-10-18 Joshua Pritikin * Release 0.23. * Unified Perl & C API for hooks. * Niggles for Win32 (thanks Jan!). 1998-10-17 Joshua Pritikin * Release 0.22. * Include copy of self-tie patch with dist. * Documentation for Event::MakeMaker. * tailpoll revamped. * MIN_PERL_DEFINE clean. 1998-10-15 Joshua Pritikin * Improve sv_2interval typemap. 1998-10-08 Joshua Pritikin * Release 0.21. * Try to normalize benchmark. * 'now' was broken for inactive events. Fixed & added test. * Fixed infinite loop triggered by botched exception recovery. 1998-10-06 Joshua Pritikin * Release 0.20. * Rename inactive to inactivity. * Use new self-tie to wrap watcher objects. Leak test now passes for almost all watcher types. 1998-10-04 Joshua Pritikin * Slight improvements to gettimeofday.c. * Merged c_callback & perl_callback into one pointer slot. 1998-10-03 Joshua Pritikin * Added timeable methods to the public API. * Var watchers weren't working very well. Set up events/got mask stuff mirroring io watchers. Added tests. Does anyone really want timeouts? * Release 0.19. * Put in code for tailpoll, but I can't tell if it works because the tail-f behavior seems to already happen automatically. Comments? See demo/tail.t. * Added inactive watchers (& tests). * timeable API changes to allow multiple timers per watcher. * Fixed non-ANSI function declaration in c/signal.c * Reduced C API. * Renamed queueEvent to queue. * Fixed refcnt problem in DELETE. * Dashes depreciated. * Added -timeout to process watchers. Might be useful. * Fixed typo induced polling in one_event. * Moved R/W/E/T flags to Event from Event::io. * Changed the arguments to $Event::DIED in order to cope with $Event::DIED dieing. Fixed sweep exception handling. Added test. 1998-10-02 Joshua Pritikin * Watchers created with the C API now should require their perl support code automatically. Moved idle support to an autoloaded pm. * Added sweep & loop($timeout). Fixed sleep. * Release 0.18. * Added non-working export_fail prototype. Suggestions welcome. * Re-factored start & stop better (the preCB method is gone). * Finished up sleep(). Added tests. * Tied watchers are now based on pe_tmevent. 1998-10-01 Joshua Pritikin * Applied patch from Gisle for pe_sys_sleep/select. * Renamed 'watchvar' to 'var'. * Added tests for 'now' (it was completely broken!). * Tweaked debug levels. Someone needs to inventory debug warnings are decide what is reasonable. * Release 0.17 * Added tests. 1998-09-30 Joshua Pritikin * Added sleep(). Truly a tortuous experience. * Added min/max interval to idle watchers. * c_callback no longer prevents watcher destruction. Use refcnt! * Renamed various C APIs for accuracy (unix_io.c). * Reentrant flag added. 1998-09-29 Joshua Pritikin * Release 0.16 (only as a patch) * loop() now terminates when there are no active watchers left. * Depreciated async. Moved -priority to -nice & added warning. * Fixed minor stuff. * Make io timeouts work for real. (Thanks Gisle :-) * Release 0.15. * Improved the EventAPI.h version check. * Added -timeout for io watchers. Untested. * Fix io watcher bugs (unix_io.c) pointed out by Gisle Aas. 1998-09-28 Joshua Pritikin * Release 0.14. * Gutted the internals to make events reentrant. * The $Now cache was not being refreshed and that was causing timers to be queued, well, never. * Fixed whitespace in Event.pod. (Gisle Aas again.) * Optimized priority queue (hopefully). I probably should have benchmarked it first. :-P 1998-09-27 Joshua Pritikin * Release 0.13. * Moved and renamed lots of methods. Yet, added code to ease backward compatibility. (perl-loop suggested) 1998-09-24 Joshua Pritikin * Integrated rewritten documentation contributed by Gisle Aas. Thanks! 1998-09-21 Joshua Pritikin * Release 0.12. * Event::MakeMaker & event_api.h. 1998-09-14 Joshua Pritikin * Add 'total' stat. Moved stat methods to Event::Loop package. 1998-09-11 Joshua Pritikin * Release 0.11. 1998-09-10 Joshua Pritikin * Regularized exception handling. $Event::DIED is now called if an event dies. * Allow timer interval to be a scalar ref. 1998-09-09 Joshua Pritikin * Tweaked queue scheduling. Events with priorities <= 5 now starve if higher priority events are available. * Changing the event priority of a queued event will now reque the event into the appropriate queue. * Split NetServer::ProcessTop into it's own tarball. 1998-09-04 Joshua Pritikin * Release 0.10. * NetServer::ProcessTop implements a top-style control panel available via telnet ($$ % 7000). See util/top.pl. * Proxy "tied" event type that allows completely perl-side implementation of new event handlers. * Event::process is working again (implementation is entirely in perl). * Eliminated race conditions in signal handling. * Zombie events are still not being collected due to mysterious refcnt problems. It is possible that this cannot be resolved until perl implements tied hashes properly (through a VTBL!). * Removed $Event::*::Count since it is superceded by NetServer::ProcessTop. 1998-08-28 Joshua Pritikin * Fixed serious bug in the event destructor. 1998-08-22 Joshua Pritikin * Accept file descriptor numbers in addition to filehandles, etc. Maybe non-portable, but nice for unixen. 1998-08-19 Joshua Pritikin * Fixed repeating timer logic. Tweaks for idle events. 1998-08-14 Joshua Pritikin * Completed re-write of almost everything in C. Change 144 on 1998/05/31 by (Graham Barr) Event::watchvar - Now passes $ref to callback All - added use attrs qw(locked method) to all subs, and code to ensure this will work on pre-threaded perl Change 143 on 1998/05/31 by (Graham Barr) Event.xs - Fixed so will compile with threaded perl Event::timer - Added -hard option Change 124 on 1998/04/04 by (Graham Barr) new files Change 123 on 1998/04/04 by (Graham Barr) Event - Tweaks to keys dispatchAsyncEvents() Change 121 on 1998/04/01 by (Graham Barr) Event::timer - added Time::HiRes Event::idle, Event - moved idle events into sub-module Makefile.PL - Removed INSTALLDIRS => 'perl'