Way to unblock sys.stdin.readline() call

joamag joamag at gmail.com
Sat Jun 21 15:35:02 EDT 2008


On Jun 21, 4:46 pm, Cédric Lucantis <o... at no-log.org> wrote:
> Le Saturday 21 June 2008 15:26:53 joamag, vous avez écrit :
>
> > HI,
>
> > Is there any possible way to unblock the sys.stdin.readline() call
> > from a different thread.
> > Something like sys.stdin.write() but that would actually work ...
> > something to put characters in the stdin...
>
> Do you mean setting stdin in non-blocking mode ? On unix you can do it with
> the fcntl module (you'll find more infos in the libc docs) :
>
> fcntl.fcntl(sys.stdin, fcntl.F_SETFL, os.O_NONBLOCK)
>
> and catch IOErrors with errno = EAGAIN. But I don't know how to do it in a
> portable way, suggestions welcome :)
>
> --
> Cédric Lucantis

Thanks for the advice that's a way of solving my problem, but I really
need a portable way of doing it...

The application I’m build is meant to be run in more platforms than
Unix ... so I really need a portable way of doing that or something
else that unblocks the read call in the stdin



More information about the Python-list mailing list