On Thu, Jul 25, 2002 at 01:33:13PM -0700, [EMAIL PROTECTED] wrote: > I am rewriting a monolithic script that is used for data collection on the > afore mentioned OSes. I'm developing using the ActiveState PDK on Windows > 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.
POE works with blocking file handles; it just works better when they don't block. Once a handle is registered with POE, turn off its blocking, and it should work fine. I do this in PoCo::Client::HTTP for SSL, since Net::SSLeay works better with blocking handles. Multitasking is a little chunkier, but it still works. FollowTail's reliance on select() is probably an error. From what I can tell, sysread() should never block on a filesystem, even if there is no data available. Mileage probably varies with some operating systems, but that can't be helped. Suggested remedy: Remove select() use from FollowTail and Client::FTP disk I/O. This will also disable the non-blocking flags. > Thanks for getting the preprocessor and Windows services issue straitened > out. I am running this as a service (hence the PDK), and diagnosed that > preprocessing on the fly wasn't happening, and then found that all I had to > do was upgrade! This is Zoltan Kandi's fault. He should be thanked early and often. > I am starting the port to OpenVMS; any thoughts? Although I have OpenVMS accounts, I have no idea how to do anything in them. Otherwise POE would already be tested under that environment. Post any specific questions and problems you run into. > I presume that POE is developed on Unix, so I'm thinking the port to Tru64 > should be the easiest. I also have Tru64 accounts, and older versions of POE have worked fine under this OS. The latest versions have not, but I don't anticipate any problems. You may be lucky and not need to do anything here. -- Rocco Caputo / [EMAIL PROTECTED] / poe.perl.org / poe.sf.net
