Thanks, I realized that even if I found out relevant info on the socket, I would probably need to use ctypes to provide a low level interface to select, as the socket wouldn't be a python socket object, unless there is some way to promote a c socket to a python socket object.
Appreciate the info, folks. On Thu, Sep 30, 2010 at 7:14 AM, Jean-Paul Calderone <exar...@twistedmatrix.com> wrote: > On Sep 29, 4:08 pm, Jim Mellander <jmellan...@lbl.gov> wrote: >> >> On Wed, Sep 29, 2010 at 11:05 AM, Gary Herron <gher...@digipen.edu> wrote: >> > On 09/29/2010 09:50 AM, Jim Mellander wrote: >> >> >> Hi: >> >> >> I'm a newbie to python, although not to programming. Briefly, I am >> >> using a binding to an external library used for communication in a >> >> client-server context, with the server in python. Typically, I would >> >> set this up with event callbacks, and then enter a select loop, which, >> >> most the time idles and processes input events when the socket shows >> >> activity, kinda like: >> >> >> while True: >> >> socket.select((my_socket),(),()) >> >> process_event() >> >> >> Unfortunately, the API does not expose the socket to the script level, >> >> and the developer recommends a busy loop: >> >> >> while True: >> >> sleep(1) >> >> process_event() >> >> >> which I hope to avoid, for many reasons. If the socket can be exposed >> >> to the script level, then the problem would be solved. >> >> >> Failing that, it would be nice to be able to pythonically determine >> >> the sockets in use and select on those. Does anyone have any >> >> suggestions on how to proceed? >> >> >> Thanks in advance >> >> > It's certain that any answer to this will depend on which operating system >> > you are using. So do tell: What OS? >> >> Hi Gary: >> >> Certainly not windows.... I'm developing on OS/X but for production >> probably Linux and FreeBSD >> >> (I'm hoping for something a bit more portable than running 'lsof' and >> parsing the output, but appreciate any/all advice) >> > > Linux has /proc/self/fd and OS X has /dev/fd. Those both suppose you > have some way of determining which file descriptor corresponds to the > socket or sockets that the library is using, of course. Vastly better > would be to convince the author to expose that information via a real > API. > > Jean-Paul > -- > http://mail.python.org/mailman/listinfo/python-list > -- http://mail.python.org/mailman/listinfo/python-list