patch 9.1.1587: Wayland: timeout not updated before select()
Commit:
https://github.com/vim/vim/commit/1a224edb2e67bb50d00d4596925cea72b501b8e3
Author: Foxe Chen <[email protected]>
Date: Thu Jul 24 19:29:13 2025 +0200
patch 9.1.1587: Wayland: timeout not updated before select()
Problem: Wayland: timeout not updated before select()
Solution: Always set timeval struct before select() (Foxe Chen).
closes: #17836
Signed-off-by: Foxe Chen <[email protected]>
Signed-off-by: Christian Brabandt <[email protected]>
diff --git a/src/clipboard.c b/src/clipboard.c
index 755275122..a22b62145 100644
--- a/src/clipboard.c
+++ b/src/clipboard.c
@@ -2352,8 +2352,6 @@ clip_wl_receive_data(Clipboard_T *cbd, const char
*mime_type, int fd)
FD_ZERO(&rfds);
FD_SET(fd, &rfds);
- tv.tv_sec = 0;
- tv.tv_usec = p_wtm * 1000;
#endif
// Make pipe (read end) non-blocking
@@ -2381,10 +2379,13 @@ clip_wl_receive_data(Clipboard_T *cbd, const char
*mime_type, int fd)
poll_data:
#ifndef HAVE_SELECT
if (poll(&pfd, 1, p_wtm) > 0)
+ continue;
#else
+ tv.tv_sec = 0;
+ tv.tv_usec = p_wtm * 1000;
if (select(fd + 1, &rfds, NULL, NULL, &tv) > 0)
-#endif
continue;
+#endif
}
break;
}
@@ -2617,6 +2618,11 @@ clip_wl_send_data(
if (written == -1)
break;
total += written;
+
+#ifdef HAVE_SELECT
+ tv.tv_sec = 0;
+ tv.tv_usec = p_wtm * 1000;
+#endif
}
exit:
vim_free(string);
diff --git a/src/version.c b/src/version.c
index b0382651c..16148447b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -719,6 +719,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1587,
/**/
1586,
/**/
diff --git a/src/wayland.c b/src/wayland.c
index bf0944375..b09ec5f6b 100644
--- a/src/wayland.c
+++ b/src/wayland.c
@@ -422,6 +422,10 @@ vwl_display_flush(vwl_display_T *display)
if (select(display->fd + 1, NULL, &wfds, NULL, &tv) <= 0)
#endif
return FAIL;
+#ifdef HAVE_SELECT
+ tv.tv_sec = 0;
+ tv.tv_usec = p_wtm * 1000;
+#endif
}
// Return FAIL on error or timeout
if ((errno != 0 && errno != EAGAIN) || ret == -1)
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/vim_dev/E1uf007-0082Ra-VB%40256bit.org.