help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: What does the error "Process <URL> not running" mean?


From: Eli Zaretskii
Subject: Re: What does the error "Process <URL> not running" mean?
Date: Wed, 09 Feb 2022 16:17:32 +0200

> From: Robert Pluim <rpluim@gmail.com>
> Cc: help-gnu-emacs@gnu.org
> Date: Wed, 09 Feb 2022 09:43:25 +0100
> 
> >>>>> On Tue, 08 Feb 2022 20:35:38 +0200, Eli Zaretskii <eliz@gnu.org> said:
> 
>     >> From: Robert Pluim <rpluim@gmail.com>
>     >> Date: Tue, 08 Feb 2022 17:20:41 +0100
>     >> Cc: Stefan Monnier <monnier@iro.umontreal.ca>
>     >> 
>     >> Iʼd rather someone with the requisite skills and tolerance for Windows
>     >> changed the Emacs select emulation to remove the limit (perhaps by
>     >> using the Gnulib 'select' module).
> 
>     Eli> Why do you think the Gnulib module is free from the same (or similar)
>     Eli> limitation?  Isn't FD_SETSIZE = 64 in winsock2.h?
> 
> It is, but youʼre allowed to set it higher, as far as I know.

Not with the Gnulib emulation, AFAICT, since they call the same API we
call in Emacs, which is limited to waiting on 64 handles.

> Maybe it would be enough to just call winsock `select' from Emacs'
> select emulation, but only for sockets.

That's ugly, complicated (sockets are handles, file descriptors
aren't), and in some use cases will still hit the limit.

These half-measures aren't the kind of a solution I'd consider as good
candidates for replacing the current code.  We should probably use
WSAAsyncSelect for sockets, and/or use several threads, each one
watching 64 handles, to wait on 64*N handles.  _That_ would be worth
it.

>     Eli> Also, the pselect emulation in Emacs also emulates SIGCHLD from
>     Eli> sub-processes, something the Gnulib module does not AFAIR.
> 
> Thatʼs only needed for real sub-processes, not sockets, no?

Yes, but we still need it.

>     Eli> And finally, Gnulib dropped Windows 9X support long ago, so its 
> module
>     Eli> will not run on those old versions (and actually is unlikely to run
>     Eli> even on Windows XP, as they've abandoned that as well).
> 
> At some point we have to stop supporting ancient platforms.

At some point, yes, and the motivation should be more serious than be
able to use internal Windows APIs freely.



reply via email to

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