]> granicus.if.org Git - postgresql/commit
Fix race condition in win32 signal handling.
authorMagnus Hagander <magnus@hagander.net>
Sun, 31 Jan 2010 17:16:29 +0000 (17:16 +0000)
committerMagnus Hagander <magnus@hagander.net>
Sun, 31 Jan 2010 17:16:29 +0000 (17:16 +0000)
commit97bcf34c638778ab3a3181880ba22bce8dca4899
tree683b1d90324d822beaf71e7b69d00c5e89f73ff1
parentb7445b685c0bf45c7a01a248d6cb97ac19b02a73
Fix race condition in win32 signal handling.

There was a race condition where the receiving pipe could be closed by the
child thread if the main thread was pre-empted before it got a chance to
create a new one, and the dispatch thread ran to completion during that time.

One symptom of this is that rows in pg_listener could be dropped under
heavy load.

Analysis and original patch by Radu Ilie, with some small
modifications by Magnus Hagander.
src/backend/port/win32/signal.c