Re: On file locking

Поиск
Список
Период
Сортировка
От Giles Lean
Тема Re: On file locking
Дата
Msg-id 6326.1044163042@nemeton.com.au
обсуждение исходный текст
Ответ на Re: On file locking  (Curt Sampson <cjs@cynic.net>)
Ответы Re: On file locking
Список pgsql-hackers
Curt Sampson <cjs@cynic.net> wrote:

> At any rate, it seems to me highly unlikely that, since the child has
> the *same* descriptor as the parent had, that the lock would
> disappear.

It depends on the lock function.  After fork():
   o with flock() the lock continues to be held, but will be unlocked     if any child process explicitly unlocks it
   o with fcntl() the lock is not inherited in the child
   o with lockf() the standards and manual pages don't say

Boring reference material follows.

flock
===== 

From the NetBSD manual page:

NOTES    Locks are on files, not file descriptors.  That is, file descriptors du-    plicated through dup(2) or fork(2)
donot result in multiple instances of    a lock, but rather multiple references to a single lock.  If a process
holdinga lock on a file forks and the child explicitly unlocks the file,    the parent will lose its lock.
 

The Red Hat Linux 8.0 manual page has similar wording.  (No standards
to check here -- flock() is not standardised in POSIX, X/Open, Single
Unix Standard, ...)

fcntl
=====

The NetBSD manual page notes that these locks are not inherited by
child processes:
    Another minor semantic problem with this interface is that locks    are not inherited by a child process created
usingthe fork(2)    function.
 

Ditto the Single Unix Standard versions 2 and 3.

lockf()
=======

The standards and manual pages that I've checked don't discuss
fork() in relation to lockf(), which seems a peculiar ommission
and makes me suspect that behaviour has varied historically.

In practice I would expect lockf() semantics to be the same as
fcntl().

Regards,

Giles 








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

Предыдущее
От: Justin Clift
Дата:
Сообщение: Re: [mail] Re: Windows Build System
Следующее
От: Tom Lane
Дата:
Сообщение: Re: On file locking