From: Eric Wong Date: 2014-08-29T08:21:16+00:00 Subject: [ruby-core:64638] Re: [ruby-trunk - Feature #10181] [Open] New method File.openat() Joel VanderWerf wrote: > On 08/29/2014 12:55 AM, Eric Wong wrote: > >Joel VanderWerf wrote: > >>On 08/28/2014 02:53 PM, Eric Wong wrote: > >>>I like this feature. > >>> > >>>If matz approves, I assume you also want to add other *at functions? > >>>e.g. fstatat, renameat, unlinkat, mkdirat, etc. > >> > >>Hm, that suggests... > >> > >>Dir.at(...).open(...) > >>Dir.at(...).fstat(...) > > > >How would that be implemented? > > Couldn't Dir.at(...) return an object that wraps the fd of the dir? Yes, but it would need to cache the _same_ object every time it's called given that arg for a given thread. Then it might not detect when that thread might actually want a different FD/object, and the cache can fill up or expire and we still end up with unpredictable behavior.