This is the mail archive of the
mailing list for the Cygwin project.
Re: [PATCH draft 0/6] Remove the fhandler_base_overlapped class
- From: Ken Brown <kbrown at cornell dot edu>
- To: "cygwin-patches at cygwin dot com" <cygwin-patches at cygwin dot com>
- Date: Thu, 30 May 2019 12:56:11 +0000
- Subject: Re: [PATCH draft 0/6] Remove the fhandler_base_overlapped class
- References: <firstname.lastname@example.org>
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.