----- Forwarded message from [EMAIL PROTECTED] -----
Subject: CPAN Upload: JPRIT/Event-0.72.tar.gz
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED],
[EMAIL PROTECTED]
The uploaded file
Event-0.72.tar.gz
has entered CPAN as
file: $CPAN/authors/id/JPRIT/Event-0.72.tar.gz
size: 146173 bytes
md5: 497f3e26b8b0bb13fcede30ed3cd1cda
No action is required on your part
Request entered by: JPRIT (Joshua N. Pritikin)
Request entered on: Fri, 10 Mar 2000 23:19:16 GMT
Request completed: Fri, 10 Mar 2000 23:20:42 GMT
Virtually Yours,
Id: paused,v 1.68 1999/10/22 14:39:12 k Exp k
----- End forwarded message -----
# This is a patch for Event-0.71 to update it to Event-0.72
#
# To apply this patch:
# STEP 1: Chdir to the source directory.
# STEP 2: Run the 'applypatch' program with this patch file as input.
#
# If you do not have 'applypatch', it is part of the 'makepatch' package
# that you can fetch from the Comprehensive Perl Archive Network:
# http://www.perl.com/CPAN/authors/Johan_Vromans/makepatch-x.y.tar.gz
# In the above URL, 'x' should be 2 or higher.
#
# To apply this patch without the use of 'applypatch':
# STEP 1: Chdir to the source directory.
# STEP 2: Run the 'patch' program with this file as input.
#
#### End of Preamble ####
#### Patch data follows ####
gdiff -up '/usr/tmp/mp23177.d/old/Event-0.71/ChangeLog'
'/usr/tmp/mp23177.d/new/Event-0.72/ChangeLog'
Index: ./ChangeLog
--- ./ChangeLog Fri Mar 3 15:10:13 2000
+++ ./ChangeLog Fri Mar 10 18:17:17 2000
@@ -1,3 +1,19 @@
+2000-03-10 Joshua Pritikin <[EMAIL PROTECTED]>
+
+ * Release 0.72.
+
+2000-03-09 Joshua Pritikin <[EMAIL PROTECTED]>
+
+ * Rename NetServer::ProcessTop -> NetServer::Portal.
+
+2000-03-08 Joshua Pritikin <[EMAIL PROTECTED]>
+
+ * Removed unused QUEUED & RUNNING flags.
+
+2000-03-07 Joshua Pritikin <[EMAIL PROTECTED]>
+
+ * Made pending() aware of context. Added tests.
+
2000-03-03 Joshua Pritikin <[EMAIL PROTECTED]>
* Release 0.71.
gdiff -up '/usr/tmp/mp23177.d/old/Event-0.71/Event.h'
'/usr/tmp/mp23177.d/new/Event-0.72/Event.h'
Index: ./Event.h
--- ./Event.h Mon Feb 7 15:19:18 2000
+++ ./Event.h Wed Mar 8 11:46:16 2000
@@ -92,13 +92,10 @@ struct pe_watcher_vtbl {
#define PE_PERLCB 0x020
#define PE_RUNNOW 0x040
#define PE_TMPERLCB 0x080
-#define PE_QUEUED 0x100 /* virtual flag */
-#define PE_RUNNING 0x200 /* virtual flag */
#define PE_CANCELLED 0x400
#define PE_DESTROYED 0x800
-#define PE_VISIBLE_FLAGS \
-(PE_ACTIVE | PE_SUSPEND | PE_QUEUED | PE_RUNNING)
+#define PE_VISIBLE_FLAGS (PE_ACTIVE | PE_SUSPEND)
#ifdef DEBUGGING
# define WaDEBUGx(ev) (SvIV(DebugLevel) + WaDEBUG(ev))
gdiff -up '/usr/tmp/mp23177.d/old/Event-0.71/Event.xs'
'/usr/tmp/mp23177.d/new/Event-0.72/Event.xs'
Index: ./Event.xs
--- ./Event.xs Fri Mar 3 13:32:45 2000
+++ ./Event.xs Wed Mar 8 11:45:53 2000
@@ -574,19 +574,20 @@ DESTROY(ref)
}
}
-int
+void
pe_watcher::pending()
- CODE:
+ PPCODE:
{
- pe_ring *lk = &THIS->events;
- RETVAL = 0;
- while (lk->next->self) { /* should not be too wasteful */
- ++RETVAL;
- lk = lk->next;
+ if (GIMME_V == G_ARRAY) {
+ pe_event *ev = (pe_event *) THIS->events.prev->self;
+ while (ev) {
+ XPUSHs(event_2sv(ev));
+ ev = (pe_event*) ev->peer.prev->self;
+ }
+ } else {
+ XPUSHs(THIS->events.next->self? &PL_sv_yes : &PL_sv_no);
}
}
- OUTPUT:
- RETVAL
void
pe_watcher::again()
@@ -640,19 +641,9 @@ pe_watcher::use_keys(...)
warn("use_keys is deprecated");
void
-pe_watcher::running(...)
- PPCODE:
- PUTBACK;
- warn("running renamed to is_running");
- _watcher_running(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
- SPAGAIN;
-
-void
pe_watcher::is_running(...)
PPCODE:
- PUTBACK;
- _watcher_running(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
- SPAGAIN;
+ XPUSHs(sv_2mortal(newSViv(THIS->running)));
void
pe_watcher::is_active(...)
@@ -665,12 +656,6 @@ pe_watcher::is_suspended(...)
PPCODE:
PUTBACK;
XPUSHs(boolSV(WaSUSPEND(THIS)));
-
-void
-pe_watcher::is_queued(...)
- PPCODE:
- PUTBACK;
- XPUSHs(boolSV(WaFLAGS(THIS) & PE_QUEUED));
void
pe_watcher::is_cancelled(...)
gdiff -up '/usr/tmp/mp23177.d/old/Event-0.71/TODO'
'/usr/tmp/mp23177.d/new/Event-0.72/TODO'
Index: ./TODO
--- ./TODO Thu Feb 17 11:04:19 2000
+++ ./TODO Wed Mar 8 11:50:37 2000
@@ -2,17 +2,12 @@ finish up lexical warnings
omitting parked=>1 should be a warning, not an error?
-attribute set methods should return the new value
+attribute set methods should return the new value?
add timeout for var watchers?
-remove PE_QUEUED (unused?)
-
find owner for Win32 port
-I am planning to change $watcher->pending to return the T/F in a
-scalar context and the actual events in a list context.
-
discontinue inactivity watchers
documentation
@@ -53,8 +48,6 @@ loop
-----------------------------------------------------------------------
-----------------------------------------------------------------------
-Move process.pm to external module!
-
-export_fail hook to autoload?
+Move process.pm to external module?
accept "%f minutes" & "%f hours" for all time specifications?
gdiff -up '/usr/tmp/mp23177.d/old/Event-0.71/c/tied.c'
'/usr/tmp/mp23177.d/new/Event-0.72/c/tied.c'
Index: ./c/tied.c
--- ./c/tied.c Tue Feb 1 12:30:59 2000
+++ ./c/tied.c Wed Mar 8 11:46:43 2000
@@ -76,9 +76,7 @@ WKEYMETH(_tied_at) {
WKEYMETH(_tied_flags) {
if (!nval) {
dSP;
- XPUSHs(sv_2mortal(newSViv((ev->flags & PE_VISIBLE_FLAGS) |
- (ev->running? PE_RUNNING : 0) |
- (PE_RING_EMPTY(&ev->events)? 0:PE_QUEUED))));
+ XPUSHs(sv_2mortal(newSViv(ev->flags & PE_VISIBLE_FLAGS)));
PUTBACK;
} else {
IV nflags = SvIV(nval);
gdiff -up '/usr/tmp/mp23177.d/old/Event-0.71/c/watcher.c'
'/usr/tmp/mp23177.d/new/Event-0.72/c/watcher.c'
Index: ./c/watcher.c
--- ./c/watcher.c Fri Mar 3 12:03:29 2000
+++ ./c/watcher.c Wed Mar 8 11:45:45 2000
@@ -207,15 +207,6 @@ WKEYMETH(_watcher_repeat) {
}
}
-WKEYMETH(_watcher_running) {
- if (!nval) {
- dSP;
- XPUSHs(sv_2mortal(newSViv(ev->running)));
- PUTBACK;
- } else
- croak("'e_running' is read-only");
-}
-
WKEYMETH(_watcher_suspend) {
if (!nval) {
dSP;
@@ -272,8 +263,6 @@ static void boot_pe_watcher() {
vt->alarm = pe_watcher_alarm;
newCONSTSUB(stash, "ACTIVE", newSViv(PE_ACTIVE));
newCONSTSUB(stash, "SUSPEND", newSViv(PE_SUSPEND));
- newCONSTSUB(stash, "QUEUED", newSViv(PE_QUEUED));
- newCONSTSUB(stash, "RUNNING", newSViv(PE_RUNNING));
newCONSTSUB(stash, "R", newSViv(PE_R));
newCONSTSUB(stash, "W", newSViv(PE_W));
newCONSTSUB(stash, "E", newSViv(PE_E));
gdiff -up '/usr/tmp/mp23177.d/old/Event-0.71/lib/Event.pm'
'/usr/tmp/mp23177.d/new/Event-0.72/lib/Event.pm'
Index: ./lib/Event.pm
--- ./lib/Event.pm Fri Mar 3 15:10:31 2000
+++ ./lib/Event.pm Fri Mar 10 18:17:30 2000
@@ -13,7 +13,7 @@ use Carp;
eval { require Carp::Heavy; }; # work around perl_call_pv bug XXX
use vars qw($VERSION @EXPORT_OK
$API $DebugLevel $Eval $DIED $Now);
-$VERSION = '0.71';
+$VERSION = '0.72';
# If we inherit DynaLoader then we inherit AutoLoader; Bletch!
require DynaLoader;
gdiff -up '/usr/tmp/mp23177.d/old/Event-0.71/lib/Event.pod'
'/usr/tmp/mp23177.d/new/Event-0.72/lib/Event.pod'
Index: ./lib/Event.pod
--- ./lib/Event.pod Mon Feb 28 17:29:13 2000
+++ ./lib/Event.pod Thu Mar 9 13:27:54 2000
@@ -131,7 +131,7 @@ customized by passing extra attributes t
created, watcher objects are "started" and are waiting for events
(see C<$event-E<gt>start> below).
-L<NetServer::ProcessTop> displays watchers in real-time, formatted
+L<NetServer::Portal> can display watchers in real-time, formatted
similarly to the popular C<top> program. You may find this a useful
aide for debugging.
@@ -286,14 +286,6 @@ of the main callback.
Extra attribute: signal => $str
-=item semaphore
-
-Not yet implemented.
-
-=item msg
-
-Not yet implemented.
-
=back
=head2 PRIORITY
@@ -695,7 +687,7 @@ descriptors.
=head1 ALSO SEE
-L<Time::HiRes>, L<NetServer::ProcessTop>, L<IPC::LDT>, L<Event-tcp>,
+L<Time::HiRes>, L<NetServer::Portal>, L<IPC::LDT>, L<Event-tcp>,
and L<Time::Warp>.
While Tk does not yet support Event, L<PerlQt> does.
gdiff -up '/usr/tmp/mp23177.d/old/Event-0.71/lib/Event/Watcher.pm'
'/usr/tmp/mp23177.d/new/Event-0.72/lib/Event/Watcher.pm'
Index: ./lib/Event/Watcher.pm
--- ./lib/Event/Watcher.pm Thu Feb 10 10:04:02 2000
+++ ./lib/Event/Watcher.pm Wed Mar 8 11:43:33 2000
@@ -3,7 +3,7 @@ package Event::Watcher;
use base 'Exporter';
use Carp;
use vars qw(@EXPORT_OK @ATTRIBUTE);
-@EXPORT_OK = qw(ACTIVE SUSPEND QUEUED RUNNING R W E T);
+@EXPORT_OK = qw(ACTIVE SUSPEND R W E T);
@ATTRIBUTE = qw(cb cbtime desc debug prio reentrant repeat max_cb_tm);
sub register {
gdiff -up '/usr/tmp/mp23177.d/old/Event-0.71/t/now.t'
'/usr/tmp/mp23177.d/new/Event-0.72/t/now.t'
Index: ./t/now.t
--- ./t/now.t Fri Feb 4 08:16:58 2000
+++ ./t/now.t Wed Mar 8 11:40:19 2000
@@ -1,6 +1,6 @@
# -*-perl-*- ASAP
-use Test; plan tests => 3;
+use Test; plan tests => 13;
use Event qw(loop unloop);
# $Event::DebugLevel = 3;
@@ -11,10 +11,28 @@ Event->idle(repeat => 1, cb => sub {
unloop if $c >= 2;
})
->now;
-my $e = Event->timer(after => 10, cb => sub { ok 1 });
-$e->stop;
-$e->now;
+my $tm = Event->timer(after => 10, cb => sub { ok 1 });
+ok !$tm->pending;
+$tm->stop;
+$tm->now;
+
+ok $tm->pending;
+my @e = $tm->pending;
+ok @e, 1;
+ok ref $e[0], 'Event::Event';
+ok $e[0]->hits;
+ok $e[0]->w, $tm;
+
+$tm->prio($tm->prio + 1);
+$tm->now;
+$tm->prio($tm->prio - 1);
+$tm->now;
+$tm->now;
+
+@e = $tm->pending; # in order of occurance (FIFO)
+ok join('', map { $_->prio } @e), join('', $tm->prio, $tm->prio+1,
+ $tm->prio, $tm->prio);
loop;
ok $c, 2;
-ok $e->cbtime;
+ok $tm->cbtime;
#### End of Patch data ####
#### ApplyPatch data follows ####
# Data version : 1.0
# Date generated : Fri Mar 10 18:22:18 2000
# Generated by : makepatch 2.00 (2.0BETA)
# Recurse directories : Yes
# p 'ChangeLog' 23921 952730237 0100444
# p 'Event.h' 4569 952533976 0100444
# p 'Event.xs' 18723 952533953 0100444
# p 'TODO' 1903 952534237 0100444
# p 'c/tied.c' 2764 952534003 0100444
# p 'c/watcher.c' 9673 952533945 0100444
# p 'lib/Event.pm' 4074 952730250 0100444
# p 'lib/Event.pod' 24058 952626474 0100444
# p 'lib/Event/Watcher.pm' 2384 952533813 0100444
# p 't/now.t' 302 952533619 0100444
#### End of ApplyPatch data ####
#### End of Patch kit [created: Fri Mar 10 18:22:18 2000] ####
#### Checksum: 334 9894 18284 ####
--
"May the best description of competition prevail."
via, but not speaking for Deutsche Bank