mirror of
https://github.com/postgres/postgres.git
synced 2025-06-13 07:41:39 +03:00
Restore psql's SIGPIPE setting if popen() fails.
Ancient oversight in PageOutput(): if popen() fails, we'd better reset the SIGPIPE handler before returning stdout, because ClosePager() won't. Noticed while fixing the empty-PAGER issue.
This commit is contained in:
@ -2220,6 +2220,10 @@ PageOutput(int lines, unsigned short int pager)
|
|||||||
pagerpipe = popen(pagerprog, "w");
|
pagerpipe = popen(pagerprog, "w");
|
||||||
if (pagerpipe)
|
if (pagerpipe)
|
||||||
return pagerpipe;
|
return pagerpipe;
|
||||||
|
/* if popen fails, silently proceed without pager */
|
||||||
|
#ifndef WIN32
|
||||||
|
pqsignal(SIGPIPE, SIG_DFL);
|
||||||
|
#endif
|
||||||
#ifdef TIOCGWINSZ
|
#ifdef TIOCGWINSZ
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user