diff options
author | Michael Vogt <egon@bottom> | 2007-09-10 16:22:53 +0200 |
---|---|---|
committer | Michael Vogt <egon@bottom> | 2007-09-10 16:22:53 +0200 |
commit | 60504a4198070671b2c4fe7045564f1d7a228f71 (patch) | |
tree | 6bc847b3a05de81eaf515f783cfa6f50876a1f1b /apt-pkg/deb | |
parent | a3259857ed1ba6a5624c781e804f4c1a6bdb37aa (diff) | |
parent | da50ba30b371f21f264c040ca9f2161771d55233 (diff) |
* merged from the mvo branch
Diffstat (limited to 'apt-pkg/deb')
-rw-r--r-- | apt-pkg/deb/dpkgpm.cc | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 36086d72e..ac63ccfdf 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -818,12 +818,16 @@ bool pkgDPkgPM::Go(int OutStatusFd) tv.tv_sec = 1; tv.tv_usec = 0; select_ret = select(max(master, _dpkgin)+1, &rfds, NULL, NULL, &tv); - if (select_ret < 0) { - std::cerr << "Error in select()" << std::endl; - continue; - } else if (select_ret == 0) - continue; - + if (select_ret == 0) + continue; + else if (select_ret < 0 && errno == EINTR) + continue; + else if (select_ret < 0) + { + perror("select() returned error"); + continue; + } + if(master >= 0 && FD_ISSET(master, &rfds)) DoTerminalPty(master); if(master >= 0 && FD_ISSET(0, &rfds)) |