diff --git a/src/core/ev.c b/src/core/ev.c index 9702854f..d37cb4f6 100644 --- a/src/core/ev.c +++ b/src/core/ev.c @@ -1434,7 +1434,7 @@ static void janet_epoll_sync_callback(JanetEVGenericMessage msg) { JanetAsyncStatus status2 = JANET_ASYNC_STATUS_NOT_DONE; if (state->stream->_mask & JANET_ASYNC_LISTEN_WRITE) status1 = state->machine(state, JANET_ASYNC_EVENT_WRITE); - if (state->stream->_mask & JANET_ASYNC_LISTEN_WRITE) + if (state->stream->_mask & JANET_ASYNC_LISTEN_READ) status2 = state->machine(state, JANET_ASYNC_EVENT_READ); if (status1 == JANET_ASYNC_STATUS_DONE || status2 == JANET_ASYNC_STATUS_DONE) { diff --git a/test/suite0009.janet b/test/suite0009.janet index 6095bc60..6fed5c91 100644 --- a/test/suite0009.janet +++ b/test/suite0009.janet @@ -115,6 +115,19 @@ # Cast to string to enable comparison (assert (= "123\n456\n" (string (slurp "unique.txt"))) "File writing 4.2") (os/rm "unique.txt")) + +# Test that the stream created by os/open can be read from +(assert-no-error "File reading 1.1" + (def outstream (os/open "unique.txt" :wct)) + (defer (:close outstream) + (:write outstream "123\n") + (:write outstream "456\n")) + + (def outstream (os/open "unique.txt" :r)) + (defer (:close outstream) + (assert (= "123\n456\n" (string (:read outstream :all))) "File reading 1.2")) + (os/rm "unique.txt")) + # ev/gather