From: Lars Ingebrigtsen <larsi@gnus.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: bugs@gnu.support, 50849@debbugs.gnu.org
Subject: bug#50849: 28.0.50; Proposal for Emacs daemon to signal when being busy
Date: Fri, 02 Sep 2022 14:28:18 +0200 [thread overview]
Message-ID: <87czceufj1.fsf@gnus.org> (raw)
In-Reply-To: <83o7vyowcl.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 02 Sep 2022 14:21:30 +0300")
Eli Zaretskii <eliz@gnu.org> writes:
> Looks like it doesn't by default, but we can ask it to do so. See,
> for example,
> https://stackoverflow.com/questions/30395258/setting-timeout-to-recv-function.
For posterity (in case Stackoverflow goes away before somebody gets
around to fixing this 🫠), the suggested solution is to do a setsockopt
with a RCVTIMEO. Which seems reasonable.
What would be a reasonable timeout here? Say... five seconds?
---
On Windows, the code would look like this:
DWORD timeout = SOCKET_READ_TIMEOUT_SEC * 1000;
setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, (char*)&timeout, sizeof(timeout));
//...
recv_size = recv(s, rx_tmp, bufSize, 0);
if (recv_size == SOCKET_ERROR)
{
if (WSAGetLastError() != WSAETIMEDOUT)
//...
}
On other platforms, the code would look like this instead:
struct timeval timeout;
timeout.tv_sec = SOCKET_READ_TIMEOUT_SEC;
timeout.tv_usec = 0;
setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout));
//...
recv_size = recv(s, rx_tmp, bufSize, 0);
if (recv_size == -1)
{
if ((errno != EAGAIN) && (errno != EWOULDBLOCK))
//...
}
next prev parent reply other threads:[~2022-09-02 12:28 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-27 14:23 bug#50849: 28.0.50; Proposal for Emacs daemon to signal when being busy Jean Louis
2021-09-27 15:27 ` Eli Zaretskii
2021-09-28 5:56 ` Lars Ingebrigtsen
2021-09-28 7:08 ` Eli Zaretskii
2022-09-02 11:09 ` Lars Ingebrigtsen
2022-09-02 11:21 ` Eli Zaretskii
2022-09-02 12:28 ` Lars Ingebrigtsen [this message]
2022-09-02 12:39 ` Eli Zaretskii
2022-09-02 12:44 ` Robert Pluim
2022-09-02 13:02 ` Lars Ingebrigtsen
2022-09-02 13:54 ` Visuwesh
2022-09-02 14:02 ` Eli Zaretskii
2022-09-03 9:48 ` Lars Ingebrigtsen
2022-09-03 15:40 ` Stefan Kangas
2022-09-03 15:57 ` Eli Zaretskii
2022-09-04 10:59 ` Lars Ingebrigtsen
2022-09-05 13:56 ` Stefan Kangas
2022-09-05 19:07 ` Lars Ingebrigtsen
2022-09-06 0:19 ` Stefan Kangas
2022-09-06 2:31 ` Eli Zaretskii
2022-09-06 3:33 ` Visuwesh
2022-09-06 12:22 ` Eli Zaretskii
2022-09-06 14:02 ` Robert Pluim
2022-09-06 14:12 ` Eli Zaretskii
2022-09-06 14:20 ` Robert Pluim
2022-09-07 1:05 ` Stefan Kangas
2022-09-07 2:39 ` Eli Zaretskii
2022-09-07 8:18 ` Stefan Kangas
2022-09-07 10:34 ` Robert Pluim
2022-09-07 11:19 ` Eli Zaretskii
2022-09-08 1:47 ` Stefan Kangas
2022-09-08 5:59 ` Eli Zaretskii
2022-09-08 12:07 ` Lars Ingebrigtsen
2022-09-08 13:42 ` Eli Zaretskii
2022-09-08 13:46 ` Lars Ingebrigtsen
2022-09-08 14:05 ` Eli Zaretskii
2022-09-08 14:11 ` Lars Ingebrigtsen
2022-09-08 14:15 ` Eli Zaretskii
2022-09-08 14:19 ` Robert Pluim
2022-09-08 16:02 ` Eli Zaretskii
2022-09-09 8:47 ` Robert Pluim
2022-09-09 9:29 ` Stefan Kangas
2022-09-09 9:35 ` Robert Pluim
2022-09-09 9:38 ` Stefan Kangas
2022-09-09 11:31 ` Eli Zaretskii
2022-09-06 8:20 ` Robert Pluim
2022-09-06 8:52 ` Lars Ingebrigtsen
2022-09-03 1:07 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-09-03 9:49 ` Lars Ingebrigtsen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87czceufj1.fsf@gnus.org \
--to=larsi@gnus.org \
--cc=50849@debbugs.gnu.org \
--cc=bugs@gnu.support \
--cc=eliz@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).