[Python-Dev] Exposing different versions of a system call in Python

Brett Cannon brett at python.org
Fri Jan 19 15:10:29 EST 2018


On Fri, 19 Jan 2018 at 01:30 Pablo Galindo Salgado <pablogsal at gmail.com>
wrote:

> Hello everyone,
>
> In today's episode of exposing useful Linux system calls I am exposing
> preadv2 in this PR:
>
> https://github.com/python/cpython/pull/5239
>
> as requested in this issue:
>
> https://bugs.python.org/issue31368
>
> As njsmith has commented in the PR, preadv2 only exists because regular
> preadv was missing a flags argument, and in C the only way to add an
> argument is to make a new function. In Python we have already exposed
> preadv2 and a possible solution would be add a optional argument that
> passes the new parametera to preadv and calls preadv2 if this happens.
>
> On the other side, we have pipe and pipe2 as an example of exposing two
> versions when this situation happens.
>
> The question is:
>
> What is preferable, exposing both functions or augment the old one?
>

I guess the question is whether discoverability would be hurt  by
combining. My guess is no, in which case if the only difference between the
two system calls is a single argument then I would make a single function.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20180119/77211eb3/attachment.html>


More information about the Python-Dev mailing list