Changeset 11918 in project


Ignore:
Timestamp:
09/07/08 22:37:18 (13 years ago)
Author:
felix winkelmann
Message:

deleting thread from timeout-list in ##sys#thread-unblock\! was incorrect [thanks to Joerg Wittenberger]

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chicken/trunk/scheduler.scm

    r8361 r11918  
    439439(define (##sys#thread-unblock! t)
    440440  (when (eq? 'blocked (##sys#slot t 3))
    441     (set! ##sys#timeout-list (##sys#delq t ##sys#timeout-list))
     441    (set! ##sys#timeout-list
     442      (let loop ((l ##sys#timeout-list))
     443        (if (null? l)
     444            l
     445            (let ((h (##sys#slot l 0)))
     446              (if (eq? (##sys#slot h 1) t)
     447                  (##sys#slot l 1)
     448                  (cons h (loop (##sys#slot l 1))))))))
    442449    (set! ##sys#fd-list
    443450      (let loop ([fdl ##sys#fd-list])
Note: See TracChangeset for help on using the changeset viewer.