Ensure that 'errno' is saved and restored by all signal handlers that
might change it. Experimentation shows that the signal handler call mechanism does not save/restore errno for you, at least not on Linux or HPUX, so this is definitely a real risk.
Showing
- src/backend/commands/async.c 4 additions, 1 deletionsrc/backend/commands/async.c
- src/backend/postmaster/postmaster.c 50 additions, 7 deletionssrc/backend/postmaster/postmaster.c
- src/backend/storage/lmgr/proc.c 10 additions, 4 deletionssrc/backend/storage/lmgr/proc.c
- src/backend/tcop/postgres.c 5 additions, 2 deletionssrc/backend/tcop/postgres.c
- src/bin/psql/common.c 4 additions, 1 deletionsrc/bin/psql/common.c
- src/interfaces/libpq/fe-connect.c 6 additions, 1 deletionsrc/interfaces/libpq/fe-connect.c
Loading
Please register or sign in to comment