[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How about a new pretest?

From: Jason Rumney
Subject: Re: How about a new pretest?
Date: Thu, 21 Dec 2006 10:47:31 +0000
User-agent: Thunderbird (Windows/20061207)

Richard Stallman wrote:
I think we should try to fix these two problems now.  The first one
should be easy.
** make-network-process :nowait t doesn't work for non-local targets
   on Windows.
I have looked at this several times myself in the past, and others have looked since and made some more progress, but it isn't as simple as it should be. The problem starts with the fact that the native select() on Windows only works for network sockets. But Emacs uses select() for subprocess I/O, so a long time ago, back when Emacs used an external program for network sockets, someone wrote a replacement for select() on w32 to handle subprocess I/O (and only subprocess I/O). Network socket support had to be added back in to this, then more recently :nowait support was added. The resulting code is difficult to understand and debug, and I'm sure if it was written from scratch to include non-blocking support for sockets, the code would look very different than it does today.

   If it cannot be fixed, (featurep 'make-network-process '(:nowait t))
   should return nil.
I think this is probably the right solution for this release, unless someone who has the time and has not already tried to understand the code wants to try to fix it now. Otherwise we could look at rewriting the select implementation from scratch after the release.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]