New submission from Cy <frompyt...@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 <rep...@bugs.python.org>
<https://bugs.python.org/issue45201>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to