[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master b4d766fba5: Don't take XCB socket every time we want the no of th
From: |
Po Lu |
Subject: |
master b4d766fba5: Don't take XCB socket every time we want the no of the next request |
Date: |
Mon, 4 Jul 2022 23:05:45 -0400 (EDT) |
branch: master
commit b4d766fba5a9ccfe7262af9032e9e2b84a3370c4
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>
Don't take XCB socket every time we want the no of the next request
* src/xterm.c (x_ignore_errors_for_next_request, x_uncatch_errors)
(x_check_errors, x_had_errors_p): Don't call XNextRequest
redundantly. Use NextRequest if it was immediately preceded by
XNextRequest, which updates dpy->request.
---
src/xterm.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/src/xterm.c b/src/xterm.c
index 7843a46ab2..771db4a05c 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -23148,6 +23148,7 @@ static void
x_ignore_errors_for_next_request (struct x_display_info *dpyinfo)
{
struct x_failable_request *request, *max;
+ unsigned long next_request;
#ifdef HAVE_GTK3
GdkDisplay *gdpy;
@@ -23171,13 +23172,14 @@ x_ignore_errors_for_next_request (struct
x_display_info *dpyinfo)
request = dpyinfo->next_failable_request;
max = dpyinfo->failable_requests + N_FAILABLE_REQUESTS;
+ next_request = XNextRequest (dpyinfo->display);
if (request >= max)
{
/* There is no point in making this extra sync if all requests
are known to have been fully processed. */
if ((LastKnownRequestProcessed (dpyinfo->display)
- != XNextRequest (dpyinfo->display) - 1))
+ != next_request - 1))
XSync (dpyinfo->display, False);
x_clean_failable_requests (dpyinfo);
@@ -23189,7 +23191,7 @@ x_ignore_errors_for_next_request (struct x_display_info
*dpyinfo)
function. */
emacs_abort ();
- request->start = XNextRequest (dpyinfo->display);
+ request->start = next_request;
request->end = 0;
dpyinfo->next_failable_request++;
@@ -23271,7 +23273,7 @@ x_uncatch_errors (void)
!= XNextRequest (x_error_message->dpy) - 1)
/* Likewise if no request was made since the trap was
installed. */
- && (XNextRequest (x_error_message->dpy)
+ && (NextRequest (x_error_message->dpy)
> x_error_message->first_request))
{
XSync (x_error_message->dpy, False);
@@ -23306,7 +23308,7 @@ x_check_errors (Display *dpy, const char *format)
are known to have been fully processed. */
if ((LastKnownRequestProcessed (dpy)
!= XNextRequest (dpy) - 1)
- && (XNextRequest (dpy)
+ && (NextRequest (dpy)
> x_error_message->first_request))
XSync (dpy, False);
@@ -23341,7 +23343,7 @@ x_had_errors_p (Display *dpy)
/* Make sure to catch any errors incurred so far. */
if ((LastKnownRequestProcessed (dpy)
!= XNextRequest (dpy) - 1)
- && (XNextRequest (dpy)
+ && (NextRequest (dpy)
> x_error_message->first_request))
XSync (dpy, False);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master b4d766fba5: Don't take XCB socket every time we want the no of the next request,
Po Lu <=