On Tue, Feb 08, 2000 at 02:42:48PM +0100, [EMAIL PROTECTED] wrote:
> Hm, it seems now clearer to me and to be no error: my modifying timer did
> this:
> 
> - it incremented the variable by the ++ operator: one read, one write: 2
> accesses;
> - it compared the variable with a number: 1 read access.
> 
> So there were three access events (poll was set to "rw"). Ok, one has to be
> very carefully here.

Oh, yah.

> (Or to temporarily disable the associated watcher - but
> how can I get all the watchers watching a certain variable?

parked=>1?

> And what if it is modified in code I cannot control?)
> Of course, fine granularity SHOULD be
> available. So, hm ... I remember an optional "clumb" feature. What are you
> thinking?

I got rid of clump (except for signals).  Why do you need it for var
watchers?

> By the way, the sent script activated the var watcher four times, not only
> three - what was the fourth event?

Well, that took some research.

  Event->timer(interval=>1, repeat=>1, cb=>sub {
      my $nr=int(rand(MAX))+1;
      no strict 'refs';
      warn "---> CHANGED var $nr (new value is ", ++${"var$nr"}, ").\n"; 
                                               ^read-inc-^write ^join
      $_[0]->w->cancel if ${"var$nr"}>5;
                             ^read
  });

The implicit join does another read of the variable.

-- 
"Never ascribe to malice that which can be explained by stupidity."
                            via, but not speaking for Deutsche Bank

Reply via email to