Re: Making Python Script Exit Completely with One Ctrl+C
Dan Fandrich via curl-users <[email protected]>
| Newsgroups | gmane.comp.web.curl.general |
|---|---|
| Message-ID | <[email protected]> |
On Sun, Dec 10, 2023 at 12:35:16PM +0800, Hongyi Zhao via curl-users wrote: > But I still cannot figure out how to achieve the same purpose with the > following methods: > > 1. Using the following method suggested by you: > > You'll probably have to block SIGINT before calling calling into pycurl, then > unblocking in the progress callback to check it, e.g. [...] > 2. Using a pure try-expect-based method. What do you mean "pure try-expect-based method"? You mean without touching signal masks? As long as you're calling non-Python based C libraries, you're out of the realm of pure Python. If PyCurl were instead 100% Python, the KeyboardInterrupt would be raised as you expect and you could catch it normally. But in this case, not only is the interrupt happening while running C code, it's happening while running C code from Python while calling back to C code that in turn is calling code in Python. Handling that as this code now is in pure Python without having to drop to writing a C extension seems pretty good to me. The alternative SIGINT handler solution should also work and may be more elegant, depending on your point of view. In any case, the issue has turned out to be unrelated to the topic of this list, so you're better off finding a PyCurl forum if you prefer another solution. Dan -- Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-users Etiquette: https://curl.se/mail/etiquette.html