Glenn, is the general plan of putting a openat() emulation into libast acceptable for you? I found that Roland wrote one in 2004 with threads in mind, and that it only needs polishing and testing. If you agree to take it I can spend some time this evening on it.
Olga On Thu, Aug 16, 2012 at 1:20 AM, Glenn Fowler <g...@research.att.com> wrote: > > On Thu, 16 Aug 2012 01:09:29 +0200 =?KOI8-R?B?z8zYx8Egy9LZ1sHOz9fTy8HR?= > wrote: >> Glenn, have you ever considered putting an openat(), fstatat(), >> mkfifoat() emulation into libast, if the base operating system does >> not have such calls? I have been trying more tests with the at() apis >> but I am not happy to trash much of libshell with lots of #ifdef >> AT_CWD tests if there is a better option. > >> AFAIK a lot of the at() calls can be emulated by using >> /dev/fd/${dirfd}/${path} or /proc/${pid}/fd/${dirfd}/${path}. I just >> do not know, are there cases where /dev/fd or /proc/${pid}/fd are not >> available (chroot environments?)? > > there are a lot of systems with lame or no /proc > and it will be hard to work around systems with no O_search > > but let me think a bit on that > if we didn't have to worry about dir fd's across exec (probably rare right > now) > we might be able to cache emulated open(O_search) paths with <dev,ino> keys > on systems that don't support /dev/fd/<FD>/<PATH> pr > /proc/<PID>/fd/<FD>/<PATH> >> Olga >> -- >> , _ _ , >> { \/`o;====- Olga Kryzhanovska -====;o`\/ } >> .----'-/`-/ olga.kryzhanov...@gmail.com \-`\-'----. >> `'-..-| / http://twitter.com/fleyta \ |-..-'` >> /\/\ Solaris/BSD//C/C++ programmer /\/\ >> `--` `--` > -- , _ _ , { \/`o;====- Olga Kryzhanovska -====;o`\/ } .----'-/`-/ olga.kryzhanov...@gmail.com \-`\-'----. `'-..-| / http://twitter.com/fleyta \ |-..-'` /\/\ Solaris/BSD//C/C++ programmer /\/\ `--` `--` _______________________________________________ ast-developers mailing list ast-developers@research.att.com https://mailman.research.att.com/mailman/listinfo/ast-developers