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   /\/\
>       `--`                                      `--`

_______________________________________________
ast-developers mailing list
ast-developers@research.att.com
https://mailman.research.att.com/mailman/listinfo/ast-developers

Reply via email to