Ubiquity actually doesn't install any signal handlers of its own, so EINTR had to be arising from a signal handler installed by a library. I noticed that Qt's QProcessManager constructor was installing a SIGCHLD handler without SA_RESTART. I've changed ubiquity to force that to be SA_RESTARTable, and hopefully that will stop this from happening again.
Ubiquity actually doesn't install any signal handlers of its own, so EINTR had to be arising from a signal handler installed by a library. I noticed that Qt's QProcessManager constructor was installing a SIGCHLD handler without SA_RESTART. I've changed ubiquity to force that to be SA_RESTARTable, and hopefully that will stop this from happening again.