> > Looking at the code, it looks fairly complex to me. I don't really > > know how sysv semaphores are supposed to work, or how we > use them, but > > perhaps the whole piece of code can be simplified? > > I'm not sure why the win32 port chose to emulate the SysV > semaphore interface anyway. You could equally well have used > the Posix interface (src/backend/port/posix_sema.c). Or, > given Microsoft's NIH tendencies, you might have needed to > write a third implementation of the pg_sema.h interface ... > but it'd likely still be no larger than win32/sema.c ...
I think that's a leftover from that code coming from a time when we didn't have an abstraction for semaphores. Specifically, it may have come out of the peerdirect port with was IIRC 7.3. Going with the third option might be a good idea - win32 *does* have native semaphores, and most of the work appears to be first adapting our need to sysv, then adapting sysv to win32. Worth looking at I guess. //Magnus ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings