[PATCH draft 0/6] Remove the fhandler_base_overlapped class
Ken Brown
kbrown@cornell.edu
Thu May 30 12:56:00 GMT 2019
On 5/26/2019 11:10 AM, Ken Brown wrote:
> fhandler_pipe is currently the only class derived from
> fhandler_base_overlapped. This patch series rewrites parts of
> fhandler_pipe so that it can be derived from fhandler_base instead.
> We can then simplify the code by removing fhandler_base_overlapped.
>
> In particular, this gets rid of the peculiar situation in which a
> non-blocking write can return with I/O pending, leading to the
> ugliness in fhandler_base_overlapped::close.
>
> I've marked these patches as drafts because I've undoubtedly
> overlooked some things. Also, I haven't systematically done any
> regression tests. I have, however, run all the sample pipe programs
> in Kerrisk's book "The Linux Programming Interface: Linux and UNIX
> System Programming Handbook". I've also run emacs-X11, gdb, git,
> make, etc., so far without problems.
This isn't ready for prime time yet. I've run into occasional errors like this
when doing a parallel build of emacs (-j13 in this case):
make: INTERNAL: Exiting with 14 jobserver tokens available; should be 13!
This would seem to indicate problems with make's jobserver pipe. I've already
found two bugs in patch 4, but I'm still seeing this error once in a while.
I'll send a v2 if/when I find the problem.
Ken
More information about the Cygwin-patches
mailing list