Skip to content

Commit 9f2403b

Browse files
0-8-15mgorges
authored andcommitted
LN_CORE: Overwrite make-thread with make-safe-thread (#254)
Overwriting should IMHO not cause any harm. However doing so make it much easier to use other libraries written for gambit as it and still learn about exceptions.
1 parent 80ad3a6 commit 9f2403b

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

modules/ln_core/log.scm

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
141141
(string-mapconcat (reverse tmp) ": ")))
142142

143143
(define (log:exception-handler e)
144-
(log-error (thread-name (current-thread)) ": "(exception->string e))
144+
(log-error (thread-name (current-thread)) ": " (exception->string e))
145145
(log-trace (current-thread))
146146
(log-error "HALT")
147147
(exit))
@@ -150,9 +150,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
150150
(current-exception-handler log:exception-handler)
151151

152152
;; catch exceptions in threads
153-
(define (make-safe-thread p . name)
154-
(let ((p2 (lambda () (current-exception-handler log:exception-handler) (p))))
155-
(make-thread p2 (if (fx= (length name) 1) (car name) 'unnamed_thread))))
153+
(define make-safe-thread
154+
(let ((make-thread make-thread))
155+
(lambda (p . name)
156+
(let ((p2 (lambda () (current-exception-handler log:exception-handler) (p))))
157+
(make-thread p2 (if (fx= (length name) 1) (car name) 'unnamed_thread))))))
158+
159+
(set! make-thread make-safe-thread)
156160

157161
;; trim files in log directory
158162
(log-folder-cleanup)

0 commit comments

Comments
 (0)