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 BaldwinReceived on Thu Mar 20 2014 - 13:22:05 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:47 UTC