• Bruce Momjian's avatar
    · e6311b4a
    Bruce Momjian authored
    The attached patch implements some changes that were discussed a
    couple weeks ago on the hackers and interfaces lists:
    
    1. When the backend sends a NOTICE message and closes the connection
       (typically, because it was told to by the postmaster after
       another backend coredumped), libpq will now print the notice
       and close the connection cleanly.  Formerly, the frontend app
       would usually terminate ungracefully due to a SIGPIPE.  (I am
       not sure if 6.3.2 behaved that way, but the current cvs sources
       do...)
    
    2. libpq's various printouts to stderr are now fed through a single
       "notice processor" routine, which can be overridden by the
       application to direct notices someplace else.  This should ease
       porting libpq to Windows.
    
    I also noticed and fixed a problem in PQprint: when sending output
    to a pager subprocess, it would disable SIGPIPE in case the pager
    terminates early (this is good) --- but afterwards it reset SIGPIPE
    to SIG_DFL, rather than restoring the application's prior setting
    (bad).
    
    			regards, tom lane
    e6311b4a
libpq.3 37.3 KB