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 по дате отправления: