bool pkgDPkgPM::RunScriptsWithPkgs(const char *Cnf)
{
bool result = true;
+ static bool interrupted = false;
Configuration::Item const *Opts = _config->Tree(Cnf);
if (Opts == 0 || Opts->Child == 0)
Opts = Opts->Child;
sighandler_t old_sigpipe = signal(SIGPIPE, SIG_IGN);
+ sighandler_t old_sigint = signal(SIGINT, [](int signum){
+ interrupted = true;
+ });
unsigned int Count = 1;
for (; Opts != 0; Opts = Opts->Next, Count++)
break;
}
}
+ signal(SIGINT, old_sigint);
signal(SIGPIPE, old_sigpipe);
+ if (interrupted)
+ result = _error->Error("Interrupted");
+
return result;
}
/*}}}*/
_error->Errno("unlockpt", "Unlocking the slave of master fd %d failed!", d->master);
else
{
- #ifdef HAVE_PTS_NAME_R
+ #ifdef HAVE_PTSNAME_R
char slave_name[64]; // 64 is used by bionic
if (ptsname_r(d->master, slave_name, sizeof(slave_name)) != 0)
#else