emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/sweeprolog 8443e4199f 1/4: FIXED: possible race condition


From: ELPA Syncer
Subject: [nongnu] elpa/sweeprolog 8443e4199f 1/4: FIXED: possible race condition when signaling new top-level threads
Date: Sun, 22 Jan 2023 04:02:17 -0500 (EST)

branch: elpa/sweeprolog
commit 8443e4199f8bf77835e0604dc26916851207f838
Author: Eshel Yaron <me@eshelyaron.com>
Commit: Eshel Yaron <me@eshelyaron.com>

    FIXED: possible race condition when signaling new top-level threads
---
 sweeprolog.el | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/sweeprolog.el b/sweeprolog.el
index c434096507..33aa182852 100644
--- a/sweeprolog.el
+++ b/sweeprolog.el
@@ -2848,9 +2848,8 @@ appropriate buffer."
                             (and (derived-mode-p 'sweeprolog-top-level-mode)
                                  sweeprolog-top-level-thread-id)))))
          (read-string "Signal goal: ?- ")))
-  (sweeprolog-signal-thread (buffer-local-value 'sweeprolog-top-level-thread-id
-                                                (get-buffer buffer))
-                            goal))
+  (with-current-buffer (get-buffer buffer)
+    (sweeprolog-top-level-signal-current goal)))
 
 (defun sweeprolog-top-level-signal-current (goal)
   "Signal the current top-level thread to run GOAL.
@@ -2862,6 +2861,8 @@ GOAL.  Otherwise, GOAL is set to a default value 
specified by
                          (read-string "Signal goal: ?- " nil
                                       
'sweeprolog-top-level-signal-goal-history)
                        sweeprolog-top-level-signal-default-goal)))
+  (unless sweeprolog-top-level-thread-id
+    (sweeprolog-top-level--populate-thread-id))
   (sweeprolog-signal-thread sweeprolog-top-level-thread-id goal))
 
 ;;;###autoload



reply via email to

[Prev in Thread] Current Thread [Next in Thread]