* bug#31903: 27.0.50; Server sockets with :nowait no longer work @ 2018-06-19 18:00 Helmut Eller 2018-07-01 15:48 ` Noam Postavsky 0 siblings, 1 reply; 5+ messages in thread From: Helmut Eller @ 2018-06-19 18:00 UTC (permalink / raw) To: 31903 With a file test.el containing this code: (make-network-process :name "*test*" :server t :nowait t :host 'local :service t :family 'ipv4) and starting Emacs with: emacs -Q -batch -l test.el prints: make server process failed: Success, :name, *test*, :server, t, :nowait, t, :host, local, :service, t, :family, ipv4 I'm not sure whether :nowait is supposed to work with server sockets, but this used to work in Emacs 25. Either way, the error message looks pretty wrong. elnode calls make-network-process[1] in a similar way, so it's quite annoying that this has changed (and obviously no one tested elnode). [1] https://github.com/nicferrier/elnode/blob/master/elnode.el In GNU Emacs 27.0.50 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.22.11) of 2018-06-19 built on caladan Repository revision: a9b720ac5030a4ca84e8ebe8436027da0468624c Windowing system distributor 'The X.Org Foundation', version 11.0.11902000 System Description: Debian GNU/Linux 9 (stretch) Configured using: 'configure --with-xpm=no --with-gif=no --with-tiff=no --with-jpeg=no --without-pop' Configured features: PNG SOUND DBUS GSETTINGS NOTIFY GNUTLS LIBXML2 FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 THREADS LIBSYSTEMD ^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#31903: 27.0.50; Server sockets with :nowait no longer work 2018-06-19 18:00 bug#31903: 27.0.50; Server sockets with :nowait no longer work Helmut Eller @ 2018-07-01 15:48 ` Noam Postavsky 2018-07-02 15:25 ` Eli Zaretskii 0 siblings, 1 reply; 5+ messages in thread From: Noam Postavsky @ 2018-07-01 15:48 UTC (permalink / raw) To: Helmut Eller; +Cc: Lars Ingebrigtsen, 31903 retitle 31903 26.1; make-network-process :server t signals error with :nowait t instead of ignoring it found 31903 26.1 tags 31903 + confirmed severity 31903 minor quit Helmut Eller <eller.helmut@gmail.com> writes: > I'm not sure whether :nowait is supposed to work with server sockets, > but this used to work in Emacs 25. Either way, the error message looks > pretty wrong. As far as I can tell, Emacs 25 just ignores :nowait when :server is passed. We could change Emacs 26 do that as well, or we just make the error official but give a more a sensible error message when passed both :nowait and :server. ^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#31903: 27.0.50; Server sockets with :nowait no longer work 2018-07-01 15:48 ` Noam Postavsky @ 2018-07-02 15:25 ` Eli Zaretskii 2018-07-06 0:13 ` Noam Postavsky 0 siblings, 1 reply; 5+ messages in thread From: Eli Zaretskii @ 2018-07-02 15:25 UTC (permalink / raw) To: Noam Postavsky; +Cc: larsi, eller.helmut, 31903 > From: Noam Postavsky <npostavs@gmail.com> > Date: Sun, 01 Jul 2018 11:48:45 -0400 > Cc: Lars Ingebrigtsen <larsi@gnus.org>, 31903@debbugs.gnu.org > > Helmut Eller <eller.helmut@gmail.com> writes: > > > I'm not sure whether :nowait is supposed to work with server sockets, > > but this used to work in Emacs 25. Either way, the error message looks > > pretty wrong. > > As far as I can tell, Emacs 25 just ignores :nowait when :server is > passed. We could change Emacs 26 do that as well, or we just make the > error official but give a more a sensible error message when passed both > :nowait and :server. Unless someone protests within the next few days, I think I prefer the latter alternative. Thanks. ^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#31903: 27.0.50; Server sockets with :nowait no longer work 2018-07-02 15:25 ` Eli Zaretskii @ 2018-07-06 0:13 ` Noam Postavsky 2018-07-10 0:46 ` Noam Postavsky 0 siblings, 1 reply; 5+ messages in thread From: Noam Postavsky @ 2018-07-06 0:13 UTC (permalink / raw) To: Eli Zaretskii; +Cc: larsi, eller.helmut, 31903 [-- Attachment #1: Type: text/plain, Size: 863 bytes --] tags 31903 + patch quit Eli Zaretskii <eliz@gnu.org> writes: >> From: Noam Postavsky <npostavs@gmail.com> >> Date: Sun, 01 Jul 2018 11:48:45 -0400 >> Cc: Lars Ingebrigtsen <larsi@gnus.org>, 31903@debbugs.gnu.org >> >> Helmut Eller <eller.helmut@gmail.com> writes: >> >> > I'm not sure whether :nowait is supposed to work with server sockets, >> > but this used to work in Emacs 25. Either way, the error message looks >> > pretty wrong. >> >> As far as I can tell, Emacs 25 just ignores :nowait when :server is >> passed. We could change Emacs 26 do that as well, or we just make the >> error official but give a more a sensible error message when passed both >> :nowait and :server. > > Unless someone protests within the next few days, I think I prefer the > latter alternative. Okay, here is the patch for that, I will push to emacs-26 in a few days. [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: patch --] [-- Type: text/x-diff, Size: 2747 bytes --] From a2ec0e58ab979b0a64a097ff0880cb7509d8aced Mon Sep 17 00:00:00 2001 From: Noam Postavsky <npostavs@gmail.com> Date: Thu, 5 Jul 2018 19:37:28 -0400 Subject: [PATCH v1] Explicitly reject :server and :nowait (Bug#31903) * src/process.c (Fmake_network_process): Explicitly check for and signal an error when passed both :server and :nowait non-nil. In Emacs 25, :nowait would be ignored in this case, but as of Emacs 26.1 this gives an error, albeit an unclear one. Also remove obsolete comment regarding configurations lacking non-blocking mode, the corresponding code was removed in 2012-11-17 "Assume POSIX 1003.1-1988 or later for fcntl.h." --- src/process.c | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/src/process.c b/src/process.c index 7f6ea1261e..4d7a735652 100644 --- a/src/process.c +++ b/src/process.c @@ -3890,12 +3890,15 @@ failed) connections may be logged in the server process's buffer. filter = Fplist_get (contact, QCfilter); sentinel = Fplist_get (contact, QCsentinel); use_external_socket_p = Fplist_get (contact, QCuse_external_socket); + Lisp_Object server = Fplist_get (contact, QCserver); + bool nowait = !NILP (Fplist_get (contact, QCnowait)); + if (!NILP (server) && nowait) + error ("`:server' is incompatible with `:nowait'"); CHECK_STRING (name); /* :local ADDRESS or :remote ADDRESS */ - tem = Fplist_get (contact, QCserver); - if (NILP (tem)) + if (!NILP (server)) address = Fplist_get (contact, QCremote); else address = Fplist_get (contact, QClocal); @@ -4009,7 +4012,7 @@ failed) connections may be logged in the server process's buffer. } #ifdef HAVE_GETADDRINFO_A - if (!NILP (host) && !NILP (Fplist_get (contact, QCnowait))) + if (!NILP (host) && nowait) { ptrdiff_t hostlen = SBYTES (host); struct req @@ -4154,20 +4157,13 @@ failed) connections may be logged in the server process's buffer. set_network_socket_coding_system (proc, host, service, name); - /* :server BOOL */ - tem = Fplist_get (contact, QCserver); - if (!NILP (tem)) - { - /* Don't support network sockets when non-blocking mode is - not available, since a blocked Emacs is not useful. */ - p->is_server = true; - if (TYPE_RANGED_INTEGERP (int, tem)) - p->backlog = XINT (tem); - } + /* :server QLEN */ + p->is_server = !NILP (server); + if (TYPE_RANGED_INTEGERP (int, server)) + p->backlog = XINT (server); /* :nowait BOOL */ - if (!p->is_server && socktype != SOCK_DGRAM - && !NILP (Fplist_get (contact, QCnowait))) + if (!p->is_server && socktype != SOCK_DGRAM && nowait) p->is_non_blocking_client = true; bool postpone_connection = false; -- 2.11.0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* bug#31903: 27.0.50; Server sockets with :nowait no longer work 2018-07-06 0:13 ` Noam Postavsky @ 2018-07-10 0:46 ` Noam Postavsky 0 siblings, 0 replies; 5+ messages in thread From: Noam Postavsky @ 2018-07-10 0:46 UTC (permalink / raw) To: Eli Zaretskii; +Cc: larsi, eller.helmut, 31903 tags 31903 fixed close 31903 26.2 quit Noam Postavsky <npostavs@gmail.com> writes: > Okay, here is the patch for that, I will push to emacs-26 in a few days. Done. [1: 90d95b000c]: 2018-07-09 19:39:03 -0400 Explicitly reject :server and :nowait (Bug#31903) https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=90d95b000c37f7e85096716db96c4a940436f387 ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2018-07-10 0:46 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-06-19 18:00 bug#31903: 27.0.50; Server sockets with :nowait no longer work Helmut Eller 2018-07-01 15:48 ` Noam Postavsky 2018-07-02 15:25 ` Eli Zaretskii 2018-07-06 0:13 ` Noam Postavsky 2018-07-10 0:46 ` Noam Postavsky
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).