Re: [PATCH] fdopendir(3)

From: Xin LI <delphij_at_delphij.net>
Date: Mon, 14 Apr 2008 12:30:52 -0700
Kostik Belousov wrote:
> On Sun, Apr 13, 2008 at 02:47:02PM -0700, Xin LI wrote:
>> Hi,
>>
>> Any objection for the attached patch which implements fdopendir(3) that 
>> is found in various other OSes?  Basically it splits __opendir2 into two 
>> parts, and expose the second part which deals with fd to provide 
>> fdopendir(3) functionalities.
> 
> There are some problems with the DTF_REWIND and union mounts.
> 
> I too implemented the fdopendir in the course of the *at() work after
> the initial Roman Divacky submission. I put my patch at the
> http://people.freebsd.org/~kib/misc/fdopendir.1.patch
> 
> I postponed the commit for further testing and some more changes related
> to the committed *at syscalls (mainly man pages, the patch awaits the
> review).

Some observations.  __fdopendir2().  My feeling is that this is not 
suitable to separate as a standard alone file as its sole users are 
fdopendir() and opendir(), therefore, being static might be more 
appropriate.  Do you have the intention to use it in somewhere else?  If 
so we should really repocopy opendir.c to __fdopendir2.c (there is a 
minor unnecessary.

Another thing is that the fd == -1 && (flags & DTF_REWIND) statement. 
If this would be an internal routine then it sounds like to be better 
represented as an assertion.  The caller should guarantee that the 
assertion hold true (by design), and the runtime check seems to be 
unnecessary (that's why I did not added these checks).

So I think the major difference between your version and mine is whether 
we wanted to expose __fdopendir2() outside libc?

Cheers,
-- 
Xin LI <delphij_at_delphij.net>	http://www.delphij.net/
FreeBSD - The Power to Serve!
Received on Mon Apr 14 2008 - 17:31:07 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:29 UTC