Messages in this thread | | | From | "Paul Rolland" <> | Subject | Re: clone() <-> getpid() bug in 2.6? | Date | Sun, 6 Jun 2004 19:31:16 +0200 |
| |
> > I though this was a job for mktemp and co. > > Sure, if you want to create a unique filename on a local unshared > disk.
Right.
> But suppose you want a unique filename on a partition which might be > NFS-mounted with multiple concurrent writers. Oh, and the year is > 1997. Still want to use mktemp?
Probably not...
> Bernstein decided to name each file: > > <time>.<PID>.<fully-qualified-domain-name> > > This approach makes three assumptions. First, that the time does not > repeat. Second, that the FQDN is unique. Third, that the time > changes (i.e., one second elapses) before a PID is reused on the local > system. Subject to these assumptions, this is a perfectly reliable, > very efficient, lock-free way to create unique file names. > > Can you do better? Not sure it's the best place to run a contest... However, I could have used something like : <FQDN>.<time-up-to-usec>.<random-number>
But this is biased because I know I must find an answer with <PID> :-)
> Sure, Bernstein's code is an unmaintainable nightmare. But his > designs and implementations are usually pretty sound. The last > release of qmail was in 1998, and we still use it where I work. Six > years with zero crashes, zero dropped messages, and zero security > holes is not a trivial track record for an MTA.
One point for him.
Paul
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |