On Tuesday, March 18, 2014 5:35:16 pm Jilles Tjoelker wrote:
> On Tue, Mar 18, 2014 at 12:23:19AM +0100, Mariusz Zaborski wrote:
> > After our previous discuss  [1] I prepare fdclosedir(3) function which
> > was committed by Pawel (cc'ed) in commit r254499.
> > A while ago I also prepare the fdclose function. Unfortunately, this
> > new function is a little bit more tricky then previous one. Can I ask
> > you for a review of this patch?
> Does this patch allow perl to stop writing to FILE._file? As pointed out
> in
> http://lists.freebsd.org/pipermail/freebsd-current/2013-January/039024.html
> perlio.c in the perl source contains a function
> PerlIOStdio_invalidate_fileno() that should modify a FILE such that
> fclose() does not close the file descriptor but still frees all memory
> (Perl has already called fflush()). Although using fdclose() could solve
> this without touching the internals of FILE, this will make perlio.c
> uglier with even more #ifdefs.

I hope it does.  I want to have some sort of API for Perl to use so it
stops (ab)using _file before I move forward with full int _file.

> I think that in cases where fdclose() would be used, it is essential
> that the file descriptor is never closed. This means that the API needs
> to be different so it can report a write error but still return a file
> descriptor. One way to do this is to return the file descriptor by
> reference. Another is to expect the application to call fileno() and not
> return the descriptor from the new function.

I would prefer the latter of requiring the application to use fileno().

John Baldwin
freebsd-current@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to