A socket's sendto method can be tricked into a
SystemError exception. This happens with:
Linux special 2.4.29 #19 Thu Jan 27 20:51:25 CET 2005
i686 unknown
and
Python 2.4.2 (#2, Dec 27 2005, 11:06:14)
but:
Linux vesuv6 2.4.20-4GB #1 Mon Mar 17 17:54:44 UTC 2003
i686 unknown unknown GNU/Linux
Python 2.3.3 (#1, Jun 29 2004, 14:43:40)
[GCC 3.3 20030226 (prerelease) (SuSE Linux)] on linux2
Type "help", "copyright", "credits" or "license" for
more information.
shows the same behaviour.
These 4 lines demonstrate the failure:
import socket
s = socket.socket( socket.PF_PACKET, socket.SOCK_RAW,
socket.htons(
0x0003 ) )
s.sendto( "abc", 0, range( 6 ) )
yields:
Traceback (most recent call last):
File "serr.py", line 7, in ?
s.sendto( "abc", 0, range( 6 ) )
SystemError: new style getargs format but argument is
not a tuple
HTH,
Gerald
|