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.
|