diff options
author | https://me.yahoo.com/a/g3Ccalpj0NhN566pHbUl6i9QF0QEkrhlfPM-#b1c14 <diana@web> | 2015-02-16 20:08:03 +0100 |
---|---|---|
committer | GNU Hurd web pages engine <web-hurd@gnu.org> | 2015-02-16 20:08:03 +0100 |
commit | 95878586ec7611791f4001a4ee17abf943fae3c1 (patch) | |
tree | 847cf658ab3c3208a296202194b16a6550b243cf /open_issues/file_locking.mdwn | |
parent | 8063426bf7848411b0ef3626d57be8cb4826715e (diff) | |
download | web-95878586ec7611791f4001a4ee17abf943fae3c1.tar.gz web-95878586ec7611791f4001a4ee17abf943fae3c1.tar.bz2 web-95878586ec7611791f4001a4ee17abf943fae3c1.zip |
rename open_issues.mdwn to service_solahart_jakarta_selatan__082122541663.mdwn
Diffstat (limited to 'open_issues/file_locking.mdwn')
-rw-r--r-- | open_issues/file_locking.mdwn | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/open_issues/file_locking.mdwn b/open_issues/file_locking.mdwn deleted file mode 100644 index 7dfbdb94..00000000 --- a/open_issues/file_locking.mdwn +++ /dev/null @@ -1,98 +0,0 @@ -[[!meta copyright="Copyright © 2010, 2011, 2014 Free Software Foundation, -Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!tag open_issue_hurd open_issue_glibc]] - -[[!toc]] - - -# Google Summer of Code Project Idea - -[[community/gsoc/project_ideas/File_Locking]]. - - -# visudo - -[[visudo]]. - - -# Existing Work - -[[!GNU_Savannah_patch 332]]. - - -# IRC, freenode, #hurd, 2010-12-31 - - <pinotree> youpi: i found the issue with python-apt - <pinotree> s/with/of/ - <youpi> good! - <pinotree> lock file issue, though :/ - <youpi> :/ - <pinotree> this is the sample test case, derived from apt's code: - http://paste.debian.net/103536/ - <pinotree> basically, it seems asking for a file lock in the same process - where there's already such lock on the file, fails - <pinotree> youpi: ↑ - <youpi> uh, posix doesn't even define some nesting - <pinotree> it seems it just talks about concurrency with other processes - <youpi> posix tells more about it later - <youpi> saying that if a lock already exists, then it is replaced by the - new - <youpi> (when inside the same process) - <pinotree> yay, found a bug in hurd :p - <youpi> well, actually it's known - <youpi> i.e. setlk is completely bogus, based on flock - <youpi> and flock doesn't have the same semantic in that regard - <youpi> so we can't fix it without really implementing setlk - <pinotree> the XXX comment in glibc/sysdeps/mach/hurd/fcntl.c, by chance? - :) - <youpi> of course :) - <pinotree> youpi: hm, flock's man page says: - <pinotree> "A process may only hold one type of lock (shared or exclusive) - on a file. Subsequent flock() calls on an already locked file will - convert an existing lock to the new lock mode." - <pinotree> so a new lock in the same process over the original lock should - replace the old one? - <youpi> uh, that's not what I had seen - <pinotree> http://linux.die.net/man/2/flock - <youpi> An attempt to lock the file using one of these file descrip- - <youpi> tors may be denied by a lock that the calling process - has already - <youpi> placed via another descriptor. - <youpi> so it's really not that easy - <pinotree> that's in case of trying to create a lock on a file with a - different fd than the existing lock - <youpi> that's what your testcase does - <pinotree> which, hm, is python-apt's case - <youpi> that being said, the sentence I pasted does not seem to appear in - posix - <pinotree> flock() does not seem posix - <youpi> it may have been the behavior of Linux at some point in the past - <youpi> it's not , but F_SETLK is - <youpi> and in linux world, flock <=> F_SETLK, iirc - <youpi> in glibc world, even - <youpi> (just checked it, see sysdeps/posix/flock.c - <youpi> pinotree: I guess your testcase works on Linux? - <pinotree> which means we should get a proper F_SETLK working, and then - just use this flock version (instead of the custom one), no? - <pinotree> yes, it works on linux (and on kfreebsd, see that python-apt - builds) - <youpi> no, I mean our flock() should probably be happy with locking part - of a file several times - <youpi> (that is, hurd's file_lock() RPC) - <youpi> ah, no, on Linux flock is its own system call - <youpi> (which is independant from lockf from the locking point of view, - iirc) - - -# 2014-03-11 - -[[!message-id "1394523876.28244.11.camel@workhorse-peter-baumgarten-com"]]. |