public inbox for ecos-bugs@sourceware.org
help / color / mirror / Atom feed
From: bugzilla-daemon@bugs.ecos.sourceware.org
To: backlog@bugs.ecos.sourceware.org
Subject: [Bug 21968] select does not work on stdin
Date: Fri, 16 Nov 2012 03:14:00 -0000	[thread overview]
Message-ID: <20121116031413.0532D2F78006@mail.ecoscentric.com> (raw)
In-Reply-To: <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

Jonathan Larmour <jifl@ecoscentric.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jifl@ecoscentric.com

--- Comment #4 from Jonathan Larmour <jifl@ecoscentric.com> 2012-11-16 03:14:10 GMT ---
(In reply to comment #3)
> 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....)-:

Where is it locked? What's the backtrace when you interrupt it from a debugger?

> - 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

That seems to tell me that you're trying to use select with a HAL diagnostic
channel as your stdin. Don't do that. The HAL diagnostic channel is there for
debug only for simple output. It is polled only with interrupts off. Use a
proper serial driver, or if this is for user terminal use, then a tty wrapper
around a serial driver (e.g. /dev/tty0 for /dev/ser0 - look at the serial
docs).

> - 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

If you don't want to use that channel at all, then don't try and use it for
input or output surely!

> - tried enabling termios in eCos, but the ioctl call to get the number of
> characters queued doesn't work

This should work without termios, no need to complicate things by including it.

What port is this? Since this is an 11 year old bug report you've added to, I'm
tempted to believe it isn't an Intel StrongARM Assabet board.

Jifl

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


  parent reply	other threads:[~2012-11-16  3:14 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <bug-21968-776@http.bugs.ecos.sourceware.org/>
2012-11-15 21:13 ` bugzilla-daemon
2012-11-16  3:14 ` bugzilla-daemon [this message]
2012-11-18  9:18 ` bugzilla-daemon
2012-11-18 17:26 ` bugzilla-daemon
2012-11-19 16:02 ` bugzilla-daemon
2012-11-19 16:05 ` bugzilla-daemon
2012-11-19 16:41 ` bugzilla-daemon
     [not found] <bug-21968-13@http.bugs.ecos.sourceware.org/>
2012-11-15 21:13 ` bugzilla-daemon
2012-11-16  3:14 ` bugzilla-daemon
2012-11-18  9:18 ` bugzilla-daemon
2012-11-18 17:26 ` bugzilla-daemon
2012-11-19 16:02 ` bugzilla-daemon
2012-11-19 16:05 ` bugzilla-daemon
2012-11-19 16:41 ` bugzilla-daemon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20121116031413.0532D2F78006@mail.ecoscentric.com \
    --to=bugzilla-daemon@bugs.ecos.sourceware.org \
    --cc=backlog@bugs.ecos.sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).