[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] externals/sly 00cbab0 01/47: Slynk: avoid race conditions when
From: |
ELPA Syncer |
Subject: |
[nongnu] externals/sly 00cbab0 01/47: Slynk: avoid race conditions when killing threads |
Date: |
Thu, 17 Dec 2020 18:57:12 -0500 (EST) |
branch: externals/sly
commit 00cbab08c3d8d2ba7f27f3176b7fd2790c61b028
Author: Marius Gerbershagen <marius.gerbershagen@gmail.com>
Commit: João Távora <joaotavora@gmail.com>
Slynk: avoid race conditions when killing threads
Threads may die after we check whether they are alive, but before we
execute kill-thread. This can lead to spurious errors, e.g. on slime
startup.
* slynk/slynk.lisp (sentinel-stop-server)
(cleanup-connection-threads): Use ignore-errors.
Co-authored-by: João Távora <joaotavora@gmail.com>
Cherry-picked-from: SLIME commit 1ea0e6ae54a07b1046e4c4c9e674acf0e855e0e2
---
slynk/slynk.lisp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/slynk/slynk.lisp b/slynk/slynk.lisp
index c6fb5b0..f89f7f1 100644
--- a/slynk/slynk.lisp
+++ b/slynk/slynk.lisp
@@ -775,7 +775,7 @@ recently established one."
(when (and thread
(thread-alive-p thread)
(not (eq thread (current-thread))))
- (kill-thread thread))))
+ (ignore-errors (kill-thread thread)))))
(t
(warn "No server for ~s: ~s" key value)))))
@@ -1452,7 +1452,7 @@ event was found."
(when (and thread
(thread-alive-p thread)
(not (equal (current-thread) thread)))
- (kill-thread thread)))))
+ (ignore-errors (kill-thread thread))))))
;;;;;; Signal driven IO
- [nongnu] externals/sly dcfe556 02/47: Fixed sldb and backtraces in clasp, (continued)
- [nongnu] externals/sly dcfe556 02/47: Fixed sldb and backtraces in clasp, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly 1dbf876 04/47: ecl: frame-source-location: return error if frame source not found, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly cd85cf6 35/47: Improve xref definitions for M-. in clasp, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly 6785833 37/47: clasp: implement profiling via metering, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly 1346967 38/47: Remove use of compatibility accessors, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly e914200 07/47: wait-for-input: better "not implemented" error., ELPA Syncer, 2020/12/17
- [nongnu] externals/sly e883812 11/47: Fix SLYNK-SBCL:COMPILER-NOTE-LOCATION for non-file-backed streams, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly 425146d 31/47: Print more code-source-location info for clasp, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly 1188cfc 34/47: Ignore utf-8 encoding errors, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly 4717cb9 44/47: Tolerate leading whitespace in slime-search-buffer-package, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly 00cbab0 01/47: Slynk: avoid race conditions when killing threads,
ELPA Syncer <=
- [nongnu] externals/sly 47e8d27 05/47: add architecture :aarch64 (for ECL), ELPA Syncer, 2020/12/17
- [nongnu] externals/sly f7c6048 08/47: arglist-dispatch: better handling of closer-mop wrappers., ELPA Syncer, 2020/12/17
- [nongnu] externals/sly bf157ae 10/47: Changed the name of a function in Clasp, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly 57b6d3f 18/47: abcl: consolidate fixes and features, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly e79f9f2 23/47: sbcl: consult sb-impl:+internal-features+ when reading source files., ELPA Syncer, 2020/12/17
- [nongnu] externals/sly 3bd8696 24/47: Move *features* binding up, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly 276b18c 39/47: abcl: guard against repeated invocation to SLYNK-BACKEND:WRAP, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly 47afe17 41/47: Fix #386: Unbreak Clasp common lisp for SLYfun, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly 5bd0081 12/47: *architecture-features*: add ppc64, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly 791f7b7 17/47: Calculate condition-location properly for clasp, ELPA Syncer, 2020/12/17