durusmail: quixote-users: Quixote on MacOS X 10.1.5?
Quixote on MacOS X 10.1.5?
2002-11-20
2002-11-20
2002-11-20
2002-11-20
2002-11-20
2002-11-20
Quixote on MacOS X 10.1.5?
Greg Ward
2002-11-20
On 20 November 2002, I said:
> OK, so OS X 10.2 still won't get along with fcgi.py.  I'll attach two
> patches (one relative to Quixote 0.5.1, one relative to CVS) that
> simplify and clarify fcgi.py's _startup(), and fix it so it should work
> on OS X.

Whoops, I patched without thinking.  OS X is not just different here,
it's (IMHO) broken -- at least for the purpose of using getpeername() to
distinguish a socket that's really a socket from a socket that's just a
wrapper around stdin.  The patch I supplied broke Quixote's FastCGI
support (at least on Linux) completely.

Let's try that again, shall we?  First, the test CGI script is different
again:

--issocket.cgi-----------------------------------------
#!/www/python/bin/python
import sys, socket, errno
print "Content-Type: text/plain\n"
print "ENOTCONN = %d" % errno.ENOTCONN
print "ENOTSOCK = %d" % errno.ENOTSOCK
try:
     s = socket.fromfd(sys.stdin.fileno(),
                       socket.AF_INET,
                       socket.SOCK_STREAM)
     s.getsockname()
except socket.error, err:
     print err
else:
     print "getsockname() succeeded: %r" % n
-------------------------------------------------------

If you're running *any* platform other than Linux 2.4/glibc 2.3/
Apache 1.3, can you please:

  * drop the above script into your cgi-bin directory

  * run it from the command line, eg.
      python /www/cgi-bin/issocket.cgi
    and tell me what it says

  * run it via your web browser, eg. point your browser at
      http://localhost/cgi-bin/issocket.cgi
    and tell me what it says

Then if you're *really* nice, you can try whichever of the attached
patches works for you and see if Quixote still works via both CGI and
FastCGI.  (It does for me, now.)

        Greg
--
Greg Ward - software developer                gward@mems-exchange.org
MEMS Exchange                            http://www.mems-exchange.org
reply