This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author giampaolo.rodola
Recipients giampaolo.rodola
Date 2008-07-04.01:51:18
SpamBayes Score 0.0022275453
Marked as misclassified No
Message-id <1215136280.08.0.736342433953.issue3277@psf.upfronthosting.co.za>
In-reply-to
Content
I've tried to run the code below on Windows XP and Linux Ubuntu and it
works as expected. Here is the output:

expt -> o
read -> fo

On FreeBSD 7.0 it raises the following exception:

expt -> o
read -> fo 
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/local/lib/python2.5/threading.py", line 460, in __bootstrap
    self.run()
  File "/usr/local/lib/python2.5/threading.py", line 440, in run
    self.__target(*self.__args, **self.__kwargs)
  File "_test2.py", line 13, in server
    data = conn.recv(1024, socket.MSG_OOB)
error: (22, 'Invalid argument')





--- code ---

import socket, select, threading, time, os

def server():
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    s.bind(('', 1024))
    s.listen(1)
    conn, addr = s.accept()
    conn.setblocking(0)
    while 1:
        r, w, e = select.select([conn], [conn], [conn], 0.01)
        if e:
            data = conn.recv(1024, socket.MSG_OOB)
            print "expt -> " + data
        if r:
            data = conn.recv(1024)
            print "read -> " + data


threading.Thread(target=server).start()
time.sleep(0.1)
s = socket.socket()
s.connect(('127.0.0.1', 1024))
s.sendall('foo', socket.MSG_OOB)

--- /code ---
History
Date User Action Args
2008-07-04 01:51:20giampaolo.rodolasetspambayes_score: 0.00222755 -> 0.0022275453
recipients: + giampaolo.rodola
2008-07-04 01:51:20giampaolo.rodolasetspambayes_score: 0.00222755 -> 0.00222755
messageid: <1215136280.08.0.736342433953.issue3277@psf.upfronthosting.co.za>
2008-07-04 01:51:19giampaolo.rodolalinkissue3277 messages
2008-07-04 01:51:18giampaolo.rodolacreate