This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [RFC] Add pthread_detach_pwd call.
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: Rich Felker <dalias at aerifal dot cx>, OndÅej BÃlka <neleai at seznam dot cz>, <libc-alpha at sourceware dot org>
- Date: Mon, 21 Oct 2013 12:42:17 +0000
- Subject: Re: [RFC] Add pthread_detach_pwd call.
- Authentication-results: sourceware.org; auth=none
- References: <20131020174109 dot GA17943 at domone dot podge> <20131020222505 dot GK20515 at brightrain dot aerifal dot cx> <5264FD5D dot 6040605 at redhat dot com> <Pine dot LNX dot 4 dot 64 dot 1310211201130 dot 23978 at digraph dot polyomino dot org dot uk> <52651E4E dot 8070707 at redhat dot com>
On Mon, 21 Oct 2013, Florian Weimer wrote:
> > Feel free to propose/implement new *at functions for glibc. That doesn't
> > depend on kernel support (although kernel support would be good) because
> > you can implement them in userspace using /proc/self/fd, just like many
> > existing fallback implementations for !__ASSUME_ATFCTS.
>
> Interesting. Is constructing such names
>
> static const char procfd[] = "/proc/self/fd/%d/%s";
>
> race-free? I'm asking because the /proc/self/fd entries are presented as
> symbolic links.
I don't see why this technique would involve any races different from a
direct syscall. In both cases, if another thread changes the file
descriptor at the same time as the call, you can't predict whether the old
or new version would be used.
--
Joseph S. Myers
joseph@codesourcery.com