[LUGA] Mit freundlicher Unterstützung von:
OCG

Mail Thread Index


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [luga] EOF bei seriellen Verbindungen





2017-04-05 12:46 GMT+02:00 Bernd Petrovitsch <bernd@petrovitsch.priv.at>:
Hi!

Es geht wohl nicht weiter, ohne daß ich die Ingrid mach';-)

On Tue, 2017-04-04 at 10:22 +0200, Bernd Petrovitsch wrote:
[...]
> Kann gut sein - muß mal schauen, ob bzw. wie das TTY konfiguriert wird
> (in irgendeinem alten Library-Code;-).

Wird es - termios etc.

> Und das ggfs. reparieren ...
Grmmml, so einfach ist es leider nicht - viel roher geht es nicht,
oder?
----  snip  ----
// raw
term.c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL);
term.c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN);
term.c_oflag &= ~OPOST;
term.c_cc[VMIN]  = 1;
term.c_cc[VTIME] = 0;
----  snip  ----

das schaut richtig aus.
"da kommt ein EOF daher" heisst read() returns 0?
select() ist edge triggered.

1) byte arrives->select() returns.
2) read() start execute
3) byte arrives
4) read() returns with 2 bytes.
5) select() returns because of 3
6) read() return with 0 bytes

oder ist die lesende app multithreaded und ein andere thread macht das read()?
epoll() ist level triggered und sollte das problem loesen koennen.

ist das moeglich?
 

MfG,
        Bernd
--
Bernd Petrovitsch                  Email : bernd@petrovitsch.priv.at
                     LUGA : http://www.luga.at



powered by LINUX the choice of a gnu generation
linux user group austria;
Suche
Suche
Letzte Änderung:
webmaster@luga.at
April 2017