OSDN Git Service

On Windows, syslogger runs in two threads. The main thread processes config
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Fri, 16 Apr 2010 09:51:49 +0000 (09:51 +0000)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Fri, 16 Apr 2010 09:51:49 +0000 (09:51 +0000)
commit961ad3fdd95f621e34a1680e42ff859f0bcb5682
tree3794ec1b2c1f7f2f1a7a397a48d568bb1144811f
parent78974cfb9ba208516a4824466b6053cc48839ce2
On Windows, syslogger runs in two threads. The main thread processes config
reload and rotation signals, and a helper thread reads messages from the
pipe and writes them to the log file. However, server code isn't generally
thread-safe, so if both try to do e.g palloc()/pfree() at the same time,
bad things will happen. To fix that, use a critical section (which is like
a mutex) to enforce that only one the threads are active at a time.
src/backend/postmaster/syslogger.c