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 Andrew.Grover
Recipients Andrew.Grover
Date 2010-01-25.07:27:36
SpamBayes Score 5.6327765e-10
Marked as misclassified No
Message-id <1264404460.15.0.913920533968.issue7777@psf.upfronthosting.co.za>
In-reply-to
Content
RDS is a reliable datagram protocol used by Oracle clusters for inter-process communication. It is in the Linux kernel, and has a defined address family number. Its use is identical to UDP, except the address family is 21, and the type is SOCK_SEQPACKET.

So, what's this got to do with Python? :)

Apparently Modules/socketmodule.c getsockaddrarg() checks bind() args, and only allows known socket types to bind. Attempting to bind with an RDS socket fails.

It looks pretty straightforward to add support for a new family, but before doing so I wanted to check whether this was likely to be accepted, and also to ask if it wouldn't make more sense for getsockaddrarg() to not default to failing unknown families, but instead letting them through? If the params are wrong for a non-enumerated family, bind() will presumably return an error that the user will get.
History
Date User Action Args
2010-01-25 07:27:40Andrew.Groversetrecipients: + Andrew.Grover
2010-01-25 07:27:40Andrew.Groversetmessageid: <1264404460.15.0.913920533968.issue7777@psf.upfronthosting.co.za>
2010-01-25 07:27:38Andrew.Groverlinkissue7777 messages
2010-01-25 07:27:36Andrew.Grovercreate