This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-10-28
Channels
- # announcements (2)
- # babashka (16)
- # bangalore-clj (1)
- # beginners (93)
- # boot (11)
- # calva (5)
- # cider (13)
- # clj-kondo (49)
- # cljdoc (14)
- # cljs-dev (1)
- # clojure (99)
- # clojure-dev (3)
- # clojure-europe (1)
- # clojure-india (1)
- # clojure-italy (9)
- # clojure-nl (3)
- # clojure-poland (1)
- # clojure-russia (1)
- # clojure-spec (31)
- # clojure-uk (21)
- # clojured (2)
- # clojurescript (18)
- # core-async (12)
- # cursive (36)
- # data-science (1)
- # datomic (54)
- # duct (3)
- # emacs (33)
- # events (1)
- # fulcro (17)
- # jobs (1)
- # joker (8)
- # keechma (1)
- # leiningen (7)
- # malli (8)
- # nrepl (19)
- # pathom (6)
- # planck (18)
- # re-frame (20)
- # reagent (18)
- # shadow-cljs (3)
- # sql (7)
- # vim (31)
There's been some recent work on interrupts (in JVM): https://github.com/nrepl/nrepl/pull/153
FYI - I’ve ported the nREPL ops docs generation to cider-nrepl https://docs.cider.mx/cider-nrepl/nrepl-api/ops.html

Probably at some point we’ll have to make this reusable, so any middleware can use it, but at least I’ve solved the most pressing and long-standing issue of generating some API docs for cider-nrepl itself.
I can't remember if we can interrupt a thread that was spawned by the main session thread, but if if we are using a shared thread pool to run a fn, then without some knowledge of the threadpool, not sure how we can just interrupt something running in it?
@shen If we can do this, that’d be great, but I’m not sure how we can get any insight as to where exactly some thread spawned from the main thread ended up.
I never really looked into this, though. I just assumed it probably wasn’t feasible (or it was pretty hard) if Chas didn’t implement it initially.
https://github.com/nrepl/nrepl/blob/f189b4c07579f8b6752f2e385e52c3680c2e1d60/src/clojure/nrepl/middleware/session.clj#L204-L207 <- how we make non-pooled threads
@shen What about it exactly? I don’t think we have any provisions for interrupting anything besides the session thread.
I think that even to be able to track the relationship between parent and child threads we need some explicit tracking with a ThreadGroup or something similar.