Skip to content

sendmsg() and recvmsg() for C socket module #41944

Closed

Description

@hwundram
mannequin
BPO 1194378
Nosy @pitrou, @giampaolo, @ezio-melotti
Files
  • socketmodule.diff.tar.bz2: New patches to socketmodule.{c,h} to implement recvmsg and sendmsg in an abstraction.
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = <Date 2009-07-27.02:39:18.047>
    created_at = <Date 2005-05-03.11:19:55.000>
    labels = ['extension-modules', 'type-feature']
    title = 'sendmsg() and recvmsg() for C socket module'
    updated_at = <Date 2009-07-27.02:39:18.036>
    user = 'https://bugs.python.org/hwundram'

    bugs.python.org fields:

    activity = <Date 2009-07-27.02:39:18.036>
    actor = 'ezio.melotti'
    assignee = 'none'
    closed = True
    closed_date = <Date 2009-07-27.02:39:18.047>
    closer = 'ezio.melotti'
    components = ['Extension Modules']
    creation = <Date 2005-05-03.11:19:55.000>
    creator = 'hwundram'
    dependencies = []
    files = ['6639']
    hgrepos = []
    issue_num = 1194378
    keywords = ['patch']
    message_count = 6.0
    messages = ['48287', '48288', '78264', '78358', '78369', '90973']
    nosy_count = 8.0
    nosy_names = ['beazley', 'pitrou', 'therve', 'forest', 'giampaolo.rodola', 'hwundram', 'ezio.melotti', 'gdesmott']
    pr_nums = []
    priority = 'low'
    resolution = 'duplicate'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = 'enhancement'
    url = 'https://bugs.python.org/issue1194378'
    versions = ['Python 3.1', 'Python 2.7']

    Activity

    1. hwundram commented on May 3, 2005

      hwundrammannequin
      MannequinAuthor

      The following tar.bz2 contains a feature enhancement
      proposal for the socket module to create wrappings of
      the recvmsg and sendmsg primitives. These are sometimes
      useful, especially when dealing with ancillary
      messages, such as communicating the process, user and
      group id of a remote process to a server for proper
      identification.

      These functions have so far been available in a
      separate module (python-eunuchs from the twisted
      project), but as they are standard POSIX and have been
      available on *BSD, AIX, Linux and several other OSs for
      some time they should be integrated into the core
      socket module.

      The attached file contains patches for configure.in the
      socket module, socket.py and pyconfig.h.in. I've yet to
      write a test-suite, and the documentation could use
      some reworking.

    2. therve commented on Mar 6, 2007

      thervemannequin
      Mannequin

      That's really great, it's a shame this patch didn't get much interest. Do you feel like adding test to this, it would probably psuh for its inclusion ?

    3. beazley commented on Dec 24, 2008

      beazleymannequin
      Mannequin

      Bump. This functionality seems to be needed if anyone is going to be
      messing around with advanced features of IPv6. As it stands, the socket
      module in Python 2.6/3.0 is incomplete without this.

    4. beazley commented on Dec 27, 2008

      beazleymannequin
      Mannequin

      Just a followup comment to note that adding support for
      sendmsg()/recvmsg() is what you need to do "file descriptor passing"
      between processes on Unix---another technique for writing network servers.

    5. pitrou commented on Dec 27, 2008

      @pitrou
      Member

      The patch doesn't apply cleanly to the current trunk (which is
      understandable, given the patch is from 2005). Also, some tests would be
      welcome as Thomas said. And bonus points for documentation :)

    6. ezio-melotti commented on Jul 27, 2009

      @ezio-melotti
      Member

      Closing this as duplicate of bpo-6560.

    7. transferred this issue fromon Apr 9, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Metadata

    Metadata

    Assignees

    No one assigned

      Labels

      extension-modulesC modules in the Modules dirtype-featureA feature request or enhancement

      Projects

      No projects

        Milestone

        No milestone

        Relationships

        None yet

        Development

        No branches or pull requests

        Issue actions