diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2004-12-02 23:20:21 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2004-12-02 23:20:21 +0000 |
commit | 5d7a555d0f42bce2a3ac05ea4fc32e6781803f1f (patch) | |
tree | 05a64689c10818d16bac5bd33be19899c64aa329 /src/interfaces/libpq/fe-print.c | |
parent | 9b711e766ea3f9e23a5b3a4c4ff828ec9e5f329b (diff) | |
download | postgresql-5d7a555d0f42bce2a3ac05ea4fc32e6781803f1f.tar.gz postgresql-5d7a555d0f42bce2a3ac05ea4fc32e6781803f1f.zip |
Code review for recent libpq changes. Be more careful about error
handling in SIGPIPE processing; avoid unnecessary pollution of application
link-symbol namespace; spell 'pointer to function' in the conventional
way.
Diffstat (limited to 'src/interfaces/libpq/fe-print.c')
-rw-r--r-- | src/interfaces/libpq/fe-print.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/interfaces/libpq/fe-print.c b/src/interfaces/libpq/fe-print.c index 9992de533d7..8c2ce003ac8 100644 --- a/src/interfaces/libpq/fe-print.c +++ b/src/interfaces/libpq/fe-print.c @@ -10,7 +10,7 @@ * didn't really belong there. * * IDENTIFICATION - * $PostgreSQL: pgsql/src/interfaces/libpq/fe-print.c,v 1.56 2004/12/02 15:32:54 momjian Exp $ + * $PostgreSQL: pgsql/src/interfaces/libpq/fe-print.c,v 1.57 2004/12/02 23:20:20 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -193,8 +193,8 @@ PQprint(FILE *fout, { usePipe = 1; #ifdef ENABLE_THREAD_SAFETY - pq_block_sigpipe(&osigset, &sigpipe_pending); - sigpipe_masked = true; + if (pq_block_sigpipe(&osigset, &sigpipe_pending) == 0) + sigpipe_masked = true; #else #ifndef WIN32 oldsigpipehandler = pqsignal(SIGPIPE, SIG_IGN); @@ -316,8 +316,9 @@ PQprint(FILE *fout, pclose(fout); #endif #ifdef ENABLE_THREAD_SAFETY + /* we can't easily verify if EPIPE occurred, so say it did */ if (sigpipe_masked) - pq_reset_sigpipe(&osigset, sigpipe_pending); + pq_reset_sigpipe(&osigset, sigpipe_pending, true); #else #ifndef WIN32 pqsignal(SIGPIPE, oldsigpipehandler); |