This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch tymux
in repository terminology.

View the commit online.

commit 7b4528feef839a8776669a4addb08b010045dbf6
Author: [email protected] <[email protected]>
AuthorDate: Sun Mar 22 14:34:26 2026 -0600

    fix: handle send errors and add defensive comment in tymux notify
    
    Remove broken clients from the session when termsrv_msg_send fails
    during flush+notify, preventing silent repeated failures on the same
    dead fd. Add a comment explaining the defensive dirty-flag check in
    the animator callback.
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
---
 src/bin/termd_tymux.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/bin/termd_tymux.c b/src/bin/termd_tymux.c
index 95768340..31d8b5c2 100644
--- a/src/bin/termd_tymux.c
+++ b/src/bin/termd_tymux.c
@@ -351,7 +351,7 @@ static void
 _tymux_flush_and_notify(TermDTymux *sess)
 {
    TermSrvMsgNotify  pay;
-   Eina_List        *l;
+   Eina_List        *l, *ln;
    TermDClient      *c;
 
    _flush_screen_to_shm(sess);
@@ -372,8 +372,11 @@ _tymux_flush_and_notify(TermDTymux *sess)
    else
      pay.backlog_head_seq = 0;
 
-   EINA_LIST_FOREACH(sess->clients, l, c)
-     termsrv_msg_send(c->fd, TSRV_MSG_NOTIFY, &pay, sizeof(pay));
+   EINA_LIST_FOREACH_SAFE(sess->clients, l, ln, c)
+     {
+        if (termsrv_msg_send(c->fd, TSRV_MSG_NOTIFY, &pay, sizeof(pay)) < 0)
+          _client_remove(sess, c);
+     }
 }
 
 static Eina_Bool
@@ -382,6 +385,9 @@ _tymux_notify_anim_cb(void *data)
    TermDTymux *sess = data;
 
    sess->notify_anim = NULL;
+   /* Defensive: dirty is always EINA_TRUE when the animator fires
+    * (it is set before scheduling), but guard against future callers
+    * of ecore_animator_add that might not set dirty first. */
    if (sess->dirty)
      {
         sess->dirty = EINA_FALSE;

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to