Cleanup() is a signal handler. However, we usually pass some return values to it manually, see lines 816 and 822 for example. Or run pacman -V --debug. (parseargs returns with 2 == SIGINT) Is this OK?