[New-bugs-announce] [issue45201] API function PySignal_SetWakeupFd is not exported and unusable

Cy report at bugs.python.org
Wed Sep 15 02:03:15 EDT 2021


New submission from Cy <frompython at fedicy.allowed.org>:

I want to wait on curl_multi_wait which messes up python's signal handling since libcurl doesn't know to exit the polling loop on signal. I created a pipe that curl could read from when python registered a signal, and PySignal_SetWakeupFd would write to the pipe, thus letting curl leave its polling loop, letting my C module return an exception condition.

Except PySignal_SetWakeupFd cannot be used. 

In Modules/signalmodule.c, it says:

    int
    PySignal_SetWakeupFd(int fd)

when it should say:

    PyAPI_FUNC(int)
    PySignal_SetWakeupFd(int fd)

This probably isn't a problem for most, since gcc has visiblity=public by default, but I guess Gentoo's process for building python sets -fvisibility=hidden, so I can't access it, and all Microsoft users should have no access to PySignal_SetWakeupFd, since Microsoft does have hidden visibility by default.

----------
components: C API
messages: 401810
nosy: cy
priority: normal
severity: normal
status: open
title: API function PySignal_SetWakeupFd is not exported and unusable
type: behavior
versions: Python 3.9

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue45201>
_______________________________________


More information about the New-bugs-announce mailing list