Problems with wait-until-fd-usable on FIFO on OSX
Bug #1601927 reported by
Stas Boukarev
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Triaged
|
Medium
|
Unassigned |
Bug Description
When the other end of a FIFO closes wait-until-
(let ((fifo #p"/tmp/fifo"))
(unless (probe-file fifo)
(sb-
(sb-thread:
(lambda ()
(with-
(write-char #\a stream))))
(with-open-file (stream fifo)
(print (read-char stream))
(read-char stream nil :eof)))
returns :EOF on linux but blocks on OSX.
Changed in sbcl: | |
importance: | Undecided → Medium |
status: | New → Triaged |
tags: | added: os-darwin streams |
description: | updated |
To post a comment you must log in.
I pushed a workaround in f88bdfb that always returns NIL in sysread-may-block-p on darwin for fifo streams. It breaks timeouts and interrupts but at least allows EOF to be signalled.