Re: OK, lets talk portability. - Mailing list pgsql-hackers

From Tom Lane
Subject Re: OK, lets talk portability.
Date
Msg-id 22968.1020778317@sss.pgh.pa.us
Whole thread Raw
In response to OK, lets talk portability.  (mlw <markw@mohawksoft.com>)
Responses Re: OK, lets talk portability.  (Hannu Krosing <hannu@tm.ee>)
Re: OK, lets talk portability.  (Hannu Krosing <hannu@tm.ee>)
List pgsql-hackers
mlw <markw@mohawksoft.com> writes:
> In the current CVS directory, there is pgsql/src/backend/port directory.

> I propose that this become a separate subproject and library.

Right offhand, that seems a pointless exercise in relabeling code that's
going to be the same either way.  What's the actual value?

> The reason I want this is because the semaphore support, specifically
> multiple semaphores identified by a single key, has to be implemented
> with shared memory and multiple semaphores. (Under Windows)

I think you are confusing issues that are now private to the SysV sema
implementation with things that you really need to do for Windows.
Take a look at port/posix_sema.c for a less cluttered view of the
semantics you actually need to support.  (I don't suppose there's any
chance that Gates & Co support POSIX semas, leaving you with no work?)

BTW, I have been able to test the named-semas variant of posix_sema.c
on OS X, and it works.  I don't have access to any platforms that
support unnamed POSIX semas, which is too bad because that seems much
the preferable variant.  Can anyone check it out?
        regards, tom lane

PS: there's a trivial little test program in port/ipc_test.c; if you
want a "smoke test" that's simpler than a full Postgres build, try that.


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: HEADS UP: Win32/OS2/BeOS native ports
Next
From: Rod Taylor
Date:
Subject: pg_sema.h