Merge pull request #8887 from obsidiansystems/bsd-cross-ci
Support cross compiling to BSD and CI it (cherry picked from commit 1f3fc08c5994ca69c84c9e745d59ec2bb2fd820a) Change-Id: I415e92952afc661cfb5ef91a76c0637678a04a19
This commit is contained in:
committed by
eldritch horrors
parent
2442a40393
commit
bc4aa3d5db
@@ -379,9 +379,9 @@ RunPager::RunPager()
|
||||
});
|
||||
|
||||
pid.setKillSignal(SIGINT);
|
||||
stdout = fcntl(STDOUT_FILENO, F_DUPFD_CLOEXEC, 0);
|
||||
std_out = fcntl(STDOUT_FILENO, F_DUPFD_CLOEXEC, 0);
|
||||
if (dup2(toPager.writeSide.get(), STDOUT_FILENO) == -1)
|
||||
throw SysError("dupping stdout");
|
||||
throw SysError("dupping standard output");
|
||||
}
|
||||
|
||||
|
||||
@@ -390,7 +390,7 @@ RunPager::~RunPager()
|
||||
try {
|
||||
if (pid != -1) {
|
||||
std::cout.flush();
|
||||
dup2(stdout, STDOUT_FILENO);
|
||||
dup2(std_out, STDOUT_FILENO);
|
||||
pid.wait();
|
||||
}
|
||||
} catch (...) {
|
||||
|
||||
@@ -85,8 +85,9 @@ struct LegacyArgs : public MixCommonArgs
|
||||
void showManPage(const std::string & name);
|
||||
|
||||
/**
|
||||
* The constructor of this class starts a pager if stdout is a
|
||||
* terminal and $PAGER is set. Stdout is redirected to the pager.
|
||||
* The constructor of this class starts a pager if standard output is a
|
||||
* terminal and $PAGER is set. Standard output is redirected to the
|
||||
* pager.
|
||||
*/
|
||||
class RunPager
|
||||
{
|
||||
@@ -96,7 +97,7 @@ public:
|
||||
|
||||
private:
|
||||
Pid pid;
|
||||
int stdout;
|
||||
int std_out;
|
||||
};
|
||||
|
||||
extern volatile ::sig_atomic_t blockInt;
|
||||
|
||||
Reference in New Issue
Block a user