pgsql-server: win32 doesn't support a static initializer for mutexes,

From: momjian(at)svr1(dot)postgresql(dot)org (Bruce Momjian)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql-server: win32 doesn't support a static initializer for mutexes,
Date: 2004-07-12 14:11:18
Message-ID: 20040712141118.571EED1B1D0@svr1.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
win32 doesn't support a static initializer for mutexes, thus the first
user must initialize the lock. The problem are concurrent "first" users
- the pthread_mutex_t initialization must be synchronized.
The current implementation is broken, the attached patches fixes that:
mutex_initlock is a spinlock. If the pthread_mutex_t mutex is not
initialized, then the spinlock is acquired, if the pthread_mutex_t is
initialized if it's not yet initialized and then the spinlock is
dropped.

Manfred Spraul

Modified Files:
--------------
pgsql-server/src/interfaces/libpq:
fe-connect.c (r1.275 -> r1.276)
(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/interfaces/libpq/fe-connect.c.diff?r1=1.275&r2=1.276)
fe-secure.c (r1.42 -> r1.43)
(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/interfaces/libpq/fe-secure.c.diff?r1=1.42&r2=1.43)

Browse pgsql-committers by date

  From Date Subject
Next Message Bruce Momjian 2004-07-12 14:16:29 pgsql-server: Back out thread fix until I get clarification.
Previous Message Tom Lane 2004-07-12 05:38:22 pgsql-server: Remove TABLESPACE option of CREATE SEQUENCE; sequences