This is the mail archive of the
ecos-bugs@sourceware.org
mailing list for the eCos project.
[Bug 21968] select does not work on stdin
- From: bugzilla-daemon at bugs dot ecos dot sourceware dot org
- To: backlog at bugs dot ecos dot sourceware dot org
- Date: Thu, 15 Nov 2012 21:12:52 +0000
- Subject: [Bug 21968] select does not work on stdin
- Auto-submitted: auto-generated
- References: <bug-21968-776@http.bugs.ecos.sourceware.org/>
Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=21968
Ken <kenkyee@excite.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |kenkyee@excite.com
--- Comment #3 from Ken <kenkyee@excite.com> 2012-11-15 21:12:51 GMT ---
This seems like a pretty bad bug to be categorized as "low" priority?!?
Use case is: people want diag/log output to a serial port, but also want to be
able to fire up a shell command processor when users put in a special
sequence...this should be a fairly common thing to do :-P
For workarounds, we've tried this:
- tried using select() then getchar()...selects apparently are broken because
it sometimes says a character is ready but it isn't, so it goes to the getchar
and locks up the entire scheduler (locking up the console task would have been
fine, but no....)-:
- tried using select() and then read() to bypass the buffering...same weird
behavior
- use direct calls to the HAL COMM_IF_GETC_TIMEOUT etc. functions...these don't
block but also returns maybe 1% of characters typed in
- tried to use configtool to tell eCos not to use that port for diag output,
but apparently, you can't just point it at /dev/null or a non-existent serial
port :-P
- tried enabling termios in eCos, but the ioctl call to get the number of
characters queued doesn't work
--
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.