On Thu, Jul 25, 2002 at 01:33:13PM -0700, [EMAIL PROTECTED] wrote:
....
> 2000.  It appears that there is a problem with setting the select call to
> be non-blocking on non-Posix OSes.  I would like to use the
> POE::Component::Client::ftp and the POE::Wheel::FollowTail modules; both
of
> which depend on non-blocking I/O.  Is there any hope?  I notice that the
> IO::Select module uses a C extension to work around the issue.  Can POE
use
> that?  I would be happy to debug and test; I just need a direction.

and Rocco Caputo <[EMAIL PROTECTED]> on Thu, 25 Jul 2002 17:14:39 -0400
kindly wrote:
....
Remove select() use from FollowTail and Client::FTP disk I/O.  This
will also disable the non-blocking flags.

Well I have delved more deeply.  I'm concentrating on getting Client:FTP to
work; I like it much better than direct Net::FTP calls.  I have found that
it uses POE::Wheel::SocketFactory, and that SocketFactory says:

 # Don't block on socket operations, because the socket will be
  # driven by a select loop.

  # Do it the Win32 way.  XXX This is incomplete.

It does indeed seems incomplete because I get:

ERROR: connect returned '10035/Unknown error' while trying to connect to
'172.20.245.73' at C:\RSA\agent\bin\sys-agent.pl line 412.

But only after I comment out:

      # XXX EINPROGRESS is not included in ActiveState's POSIX.pm, and
      # I don't know what AS's Perl uses instead.  What to do here?

#      if ($! and ($! != EINPROGRESS) and ($! != EWOULDBLOCK)) {
     $poe_kernel->yield( $event_failure,
                            'connect', $!+0, $!, $self->[MY_UNIQUE_ID]

We know that:

eval '*EWOULDBLOCK   = sub { 10035 };';

I am unclear why EWOULDBLOCK should not be logged since it does prevent the
connect from completing.

I am bedeviling myself by using Windows 2000 and "Binary build 631 provided
by ActiveState Tool Corp."
--
Paul Simons
Bellevue, WA

ALSTOM's T&D Energy Automation & Information Business

CONFIDENTIALITY:  This e-mail and any attachments are confidential and may
be privileged.
If  you are not a named recipient, please notify the sender immediately and
do not disclose the
contents to another person,  use it for any purpose or store or copy the
information in any medium.


Reply via email to