Обсуждение: Re: ps and psql from PostgreSQL not working with cygwin-1.1.5-2
Chris, On Tue, Oct 31, 2000 at 11:48:31AM -0500, Christopher Faylor wrote: > I can't duplicate the ps problem and I don't use psql.exe so, unless someone > can debug this, or provide more details, this will be a problem that is in > 1.1.5. Here is the requested details regarding the psql.exe problem. There is difference in how non-blocking socket connects (i.e. using fcntl to set O_NONBLOCK) are handled in 1.1.4 and 1.1.5-3. Specifically, in 1.1.4 connect returns 0, while in 1.1.5-3 connect returns -1 with errno set to EAGAIN (i.e. No more processes). BTW, by reading the Solaris man page for connect, 1.1.4 may not have got it quite right either. connect should return -1 with errno set to EINPROGRESS for non-blocking connects that cannot be established immediately. Attached is code to duplicate the problem. Try running the client on a 1.1.5-3 machine, the server can run on any machine: $ server -p 13131& $ client -h <YourServerHostName> -p 13131 Jason -- Jason Tishler Director, Software Engineering Phone: +1 (732) 264-8770 x235 Dot Hill Systems Corporation Fax: +1 (732) 264-8798 82 Bethany Road, Suite 7 Email: Jason.Tishler@dothill.com Hazlet, NJ 07730 USA WWW: http://www.dothill.com
Вложения
This problem was introduced sometime between the 10/22/00 and 10/23/00 snapshots, since the DLL from the former does not exhibit the problem and the latter does. Reading the ChangeLog, I conclude (possibly erroneously) that the following are the most likely candidates: Mon Oct 23 22:27:00 2000 Corinna Vinschen <corinna@vinschen.de> * fhandler.cc (fhandler_base::fcntl): Setting flags in F_SETFL branch according to Linux documentation. Mon Oct 23 21:43:00 2000 Corinna Vinschen <corinna@vinschen.de> * fcntl.cc (_fcntl): Rearrange as wrapper function. Move all functionality except F_DUPFD to fhandler classes. * fhandler.cc (fhandler_base::fcntl): New method. * net.cc (fhandler_socket::fcntl): Ditto. * fhandler.h (class fhandler_base): Add method prototype for fcntl(). (class fhandler_socket): Ditto. I tried to figure out exactly what the problem was, but so far I have been unsuccessful. Hopefully, the above will help those more intimate with the code to locate and fix the problem. Thanks, Jason -- Jason Tishler Director, Software Engineering Phone: +1 (732) 264-8770 x235 Dot Hill Systems Corporation Fax: +1 (732) 264-8798 82 Bethany Road, Suite 7 Email: Jason.Tishler@dothill.com Hazlet, NJ 07730 USA WWW: http://www.dothill.com