[Interest] Non-blocking console reads
Roland Hughes
roland at logikalsolutions.com
Sat May 5 15:07:42 CEST 2018
On 05/04/2018 10:26 PM, interest-request at qt-project.org wrote:
> I'm trying to (however inelegantly) treat the console as socket. I've tried using bytesAvailable() and readAll() but bytesAvailable() is always 0, and readAll will block. I do have an event loop and polling is ok with me. I'd rather not read the bytes in onTimeout(), and rather have the function connected to readSocket() do the reading.
>
> Any ideas?
Why do people attempt to do any form of IO in the main event loop? I
realize there are a rash of really horrible examples out there, in
particular EVERY database example officially published, but come on,
thread it off and have the thread fire signals after IO has occurred. No
need to involve a socket. If you really want to get fancy you can have
that thread use something like the select option shown near the bottom
of this page.
https://stackoverflow.com/questions/6171132/non-blocking-console-input-c
Someone tried, and mostly failed, with a ConsoleReader class for Qt here:
https://stackoverflow.com/questions/6878507/using-qsocketnotifier-to-select-on-a-char-device/7389622#7389622
And you can always resort to polling if you wish to believe input won't
overrun any OS level input buffer.
http://www.coldestgame.com/site/blog/cybertron/non-blocking-reading-stdin-c
Btw, the existing database examples (&()*&)*(ed me off so much I wrote
this book:
http://www.theminimumyouneedtoknow.com/qt_book.html
--
Roland Hughes, President
Logikal Solutions
(630)-205-1593
http://www.theminimumyouneedtoknow.com
http://www.infiniteexposure.net
http://www.johnsmith-book.com
http://www.logikalblog.com
http://www.interestingauthors.com/blog
http://lesedi.us/
http://onedollarcontentstore.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20180505/6c9f080b/attachment.html>
More information about the Interest
mailing list