Re: Question on win32 semaphore simulation - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Question on win32 semaphore simulation
Date
Msg-id 22215.1145424008@sss.pgh.pa.us
Whole thread Raw
In response to Re: Question on win32 semaphore simulation  ("Qingqing Zhou" <zhouqq@cs.toronto.edu>)
List pgsql-hackers
"Qingqing Zhou" <zhouqq@cs.toronto.edu> writes:
> (2) the killer function is PGSemaphoreReset(). There is no direct function
> for this in Win32 either.

If you can do PGSemaphoreTryLock, then Reset need only be a loop around
it (cf. posix_sema.c).  In current usage Reset doesn't have to be very
efficient at all, because it's only used during backend startup to bring
the semaphore to a known state.

> (1) semctl(SETVAL, val=0) - there is no other "val" than zero is used;

Really?  Better look again.

If you think the SysV interface is baroque (which I don't disagree
with), then you should just get rid of it entirely and implement
pg_sema.h directly atop the Windows primitives.  I don't have a lot of
sympathy for "let's implement just part of SysV because I don't like
that other part".  There is no contract saying that sysv_sema.c might
not start using SysV features it doesn't use today.
        regards, tom lane


pgsql-hackers by date:

Previous
From: "Qingqing Zhou"
Date:
Subject: Re: Question on win32 semaphore simulation
Next
From: "energumen@buaa.edu.cn"
Date:
Subject: Re: how can i get the binary format of timestamp?