[issue8864] multiprocessing: undefined struct/union member: msg_control

John Levon report at bugs.python.org
Tue Jun 1 01:54:43 CEST 2010


John Levon <movement at users.sourceforge.net> added the comment:

This appears to be one of the few cases where there's incompatibilities between different versions of the standards. Old BSD sockets use msg_accrights*, whereas the more modern way is msg_control*
pointing to a struct cmsghdr.

In terms of user/kernel interface, this difference is encoded as a MSG_XPG4_2 flag via a __xnet_recvmsg() re-define depending upon #ifdef _XPG4_2.

The result being that it's impossible to use C99 and a modern struct msghdr together. This is less than ideal and I'm following it up internally.

In terms of getting Python building again, it should be sufficient to define _XPG4_2 for the multiprocessing module compile only.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue8864>
_______________________________________


More information about the Python-bugs-list mailing list