Re: Making Event work for Win32

[email protected] (Joshua N Pritikin)
Newsgroups perl.loop
Message-ID <[email protected]>
On Tue, Mar 21, 2000 at 12:04:02PM +0000, [email protected] wrote:
> On Tue, Mar 21, 2000 at 11:51:38AM -0000, Paul Moore wrote:
> > Actually, this approach looks a bit more complicated than that (but it also
> > looks like the way it needs to go -- see below). I need to be able to wait
> > on *any* Win32 "synchronisation object" - not just files. So I need a way to
> > pass a Win32 HANDLE which may not be related to a file at all.
> > 
> > The Perl API is the main point here - how about
> > 
> >     Event->io(fd => \*STDIN, cb => \&callback);
> > 
> > as now, with the alternative for non-file handles of
> > 
> >     Event->io(handle => $WIN32_HANDLE, cb => \&callback);

I'd like to see:

  Event->handle(handle => $WIN32_HANDLE, cb => \&callback);

On Win32, Event::io can be implemented in terms of Event::handle.  Then
we get compatibility if people restrict themselves to Event::io, and the
Win32 people are happy because they can wait on low-level handle objects
with Event::handle.

> > The other side of the issue that I see is that Event revolves fundamentally
> > around IO-ish watchers, like it or not. This is because (correct me if this
> > is all wrong...) the event loop waits in pe_multiplex (which is basically
> > implemented as pe_sys_multiplex). But pe_sys_multiplex is implemented in
> > unix_io.c. So I'd need a win32_io.c, even though all of this is not really
> > IO related...
> 
> IMO, those files are mis-named. They should just be unix.c and win32.c. As
> you point out it is not only IO that differs.

Yes, Graham is correct.

-- 
"Never ascribe to malice that which can be explained by stupidity."
                           via, but not speaking for Deutsche Bank
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.