Opened 11 years ago
Closed 11 years ago
#345 closed defect (fixed)
THREADS:OBJECT-WAIT hangs for times less than or equal to 0.0001
Reported by: | Mark Evenson | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 1.3.1 |
Component: | interpreter | Version: | 1.3.0-dev |
Keywords: | threads has-test | Cc: | |
Parent Tickets: |
Description
[James Lawrence reports http://article.gmane.org/gmane.lisp.armedbear.devel/3077] that
(defun test () (let ((object (cons nil nil))) (threads:synchronized-on object (threads:object-wait object 0.0001)))) For times between 0 and 0.0001 this appears to hang indefinitely. No problem with times above 0.001. The context is the new timeout option for bordeaux-threads:condition-wait, https://github.com/sionescu/bordeaux-threads/blob/master/src/impl-abcl.lisp#L101 1.3.0-dev-svn-14623 Java_HotSpot(TM)_Server_VM-Oracle_Corporation-1.7.0_04-b20 i386-Linux-3.2.0-24-generic-pae
Change History (8)
comment:1 Changed 11 years ago by
comment:2 Changed 11 years ago by
The patch fixes time=0 and time=0.0001, but it still hangs with
time=0.000000001 and smaller positive values.
comment:3 Changed 11 years ago by
Keywords: | has-patch-partial added |
---|
comment:4 Changed 11 years ago by
Keywords: | has-patch-partial removed |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Resolved by r14632.
comment:5 Changed 11 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
comment:6 Changed 11 years ago by
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
comment:7 Changed 11 years ago by
Milestone: | 1.3.0 → 1.3.1 |
---|---|
Resolution: | fixed |
Status: | closed → reopened |
Still problems of rounding sub-nano second intervals to zero.
Discussion onging on armedbear-devel@ about how best to fix with James Lawrence, currently leaning towards interpolating non-zero intervals of less than a nanosecond to mean a nanosecond.
comment:8 Changed 11 years ago by
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
http://abcl.org/trac/changeset/14682
Related to ticket #352.
Note: See
TracTickets for help on using
tickets.
Erik suggests: