Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.os.linux.development.apps > #64
| From | Rainer Weikusat <rweikusat@mssgmbh.com> |
|---|---|
| Newsgroups | comp.os.linux.development.apps |
| Subject | Re: mkdir() and thread safety() |
| Date | 2011-04-01 21:03 +0100 |
| Message-ID | <87bp0pkadn.fsf@sapphire.mobileactivedefense.com> (permalink) |
| References | (1 earlier) <2d58ece6-bb9c-42e0-a990-fc13b92723ec@a21g2000prj.googlegroups.com> <87oc4vtn8o.fsf@sapphire.mobileactivedefense.com> <d18b0392-2e9d-49e5-911b-0b0a07c3f082@i35g2000prd.googlegroups.com> <87tyejtx4u.fsf@sapphire.mobileactivedefense.com> <35d2db97-6ab2-42b1-a83a-c4764f3c3869@w7g2000pre.googlegroups.com> |
David Schwartz <davids@webmaster.com> writes: > On Mar 31, 3:14 am, Rainer Weikusat <rweiku...@mssgmbh.com> wrote: >> David Schwartz <dav...@webmaster.com> writes: > >> > Yes, it is. The algorithm I specified will always fail if the named >> > file already existed before the operation started. > >> The operation starts when the 'backend' (whatever that happens to be) >> starts to process the mkdir request, not at some arbitrarily distant >> random time in the past. > > The operation starts when the application calls 'mkdir'. The standard > only requires the operation to fail with EEXIST if the directory > exists before the operation starts. ... and just because the text doesn't explicitly state that 'the implementation is supposed to work correctly' doesn't mean that it was meant to allow incorrect implementations. Your non-atomic multi-step algorithm is such an incorrect implementation: Because of the TOCTOU race in it, its behaviour is actually undefined and cannot be defined.
Back to comp.os.linux.development.apps | Previous | Next — Previous in thread | Next in thread | Find similar
Re: mkdir() and thread safety() David Schwartz <davids@webmaster.com> - 2011-03-30 14:53 -0700
Re: mkdir() and thread safety() Richard Kettlewell <rjk@greenend.org.uk> - 2011-03-30 23:20 +0100
Re: mkdir() and thread safety() Rainer Weikusat <rweikusat@mssgmbh.com> - 2011-03-31 11:17 +0100
Re: mkdir() and thread safety() Rainer Weikusat <rweikusat@mssgmbh.com> - 2011-03-31 11:14 +0100
Re: mkdir() and thread safety() George Neuner <gneuner2@comcast.net> - 2011-03-31 19:13 -0400
Re: mkdir() and thread safety() Rainer Weikusat <rweikusat@mssgmbh.com> - 2011-04-01 16:52 +0100
Re: mkdir() and thread safety() George Neuner <gneuner2@comcast.net> - 2011-04-03 13:59 -0400
Re: mkdir() and thread safety() Rainer Weikusat <rweikusat@mssgmbh.com> - 2011-04-08 23:59 +0100
Re: mkdir() and thread safety() David Schwartz <davids@webmaster.com> - 2011-04-01 12:22 -0700
Re: mkdir() and thread safety() Rainer Weikusat <rweikusat@mssgmbh.com> - 2011-04-01 21:03 +0100
Re: mkdir() and thread safety() David Schwartz <davids@webmaster.com> - 2011-04-01 14:27 -0700
Re: mkdir() and thread safety() Rainer Weikusat <rweikusat@mssgmbh.com> - 2011-04-01 21:23 +0100
Re: mkdir() and thread safety() David Schwartz <davids@webmaster.com> - 2011-04-01 14:28 -0700
csiph-web