Re: Using different semaphore for locking

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Using different semaphore for locking
Дата
Msg-id 26438.1291568835@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Using different semaphore for locking  (flyusa2010 fly <flyusa2010@gmail.com>)
Список pgsql-hackers
flyusa2010 fly <flyusa2010@gmail.com> writes:
> I found that postgres uses different semaphore system call on some different
> operating systems.
> For example, I found that on linux, System V semaphore (semop etc.) is used
> to implement locking, while on Darwin, POSIX semaphore (sem_wait, sem_post
> etc.) is used.
> linux and Darwin support both System V and POSIX semaphores, i'm wondering
> why postgres implement locking using different types of semaphore system
> call. Is there any performance or semantic issue on different OSes?

I think your question is answered in src/template/darwin:

# Select appropriate semaphore support.  Darwin 6.0 (Mac OS X 10.2) and up
# support System V semaphores; before that we have to use POSIX semaphores,
# which are less good for our purposes because they eat a file descriptor
# per backend per max_connection slot.
case $host_os in darwin[015].*)   USE_NAMED_POSIX_SEMAPHORES=1   ;; *)   USE_SYSV_SEMAPHORES=1   ;;
esac
        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: "Kevin Grittner"
Дата:
Сообщение: serializable read only deferrable
Следующее
От: Tom Lane
Дата:
Сообщение: Re: FK's to refer to rows in inheritance child