Last time I checked ( https://github.com/factor/factor/issues/1129 ), named pipes support wasn't ideal in factor.. Even if you don't use with-file-reader and call open and read directly, you won't get cooperative threading. You can get it from stdin and stdout because there's special support for that, or from sockets.
Jon On Sun, Sep 15, 2019 at 10:08 AM murray.calavera--- via Factor-talk <factor-talk@lists.sourceforge.net> wrote: > > I don't think that's true, if that were the case it would be constantly > printing to stdout. > It's a fifo file created with mkfifo, as soon as data is read from it the > data is no longer in the file. Fifos are automatically closed after one > process(e.g. echo) writes to it, so I have to reopen it so I can echo to it > multiple times. > > But I think I worked out the problem thanks to your comment, I think it's > because with-file-reader blocks without yielding. > > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ > On Sunday, September 15, 2019 3:10 AM, Alexander Ilin <ajs...@yandex.ru> > wrote: > > You open a file, read one line, then reopen the file and do the same again. > Since you are reopening the stream, there's always data available, thus there > is no reason to yield. > > 14.09.2019, 21:04, "murray.calavera--- via Factor-talk" > <factor-talk@lists.sourceforge.net>: > > Hello all, > > I'm a bit confused about how threads work with IO in factor. > > > This: https://docs.factorcode.org/content/article-threads.html seems to imply > that functions such as readln will yield to other threads unless data is > available on a stream, but the following program only ever reads from the > fifo: > > > USING: kernel threads io io.files io.encodings.utf8 ; > IN: test > > : read-fifo ( -- ) > "fifo" utf8 [ readln print flush ] with-file-reader read-fifo ; > > : read-stdin ( -- ) > readln print flush read-stdin ; > > [ read-fifo ] "fifo-thread" spawn drop > read-stdin > > > > What am I misunderstanding here? > > Thanks. > > Murray. > > > ,, > > _______________________________________________ > Factor-talk mailing list > Factor-talk@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/factor-talk > > > > ---=====--- > Александр > > > > _______________________________________________ > Factor-talk mailing list > Factor-talk@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/factor-talk _______________________________________________ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk