LibSerial: SIGIO



  • Hi everyone

    Um auf meine an der seriellen Schnittstelle angeschlossenen Peripheriegeräte zuzugreifen verwende ich die LibSerial library (http://libserial.sourceforge.net/). Das klappt eigentlich immer ganz zuverlässig, selbst mit mehreren Threads auf mehreren Schnittstellen.

    Nun ist es so, dass ich einen Versuch gestartet habe, auf dem 8 Threads gleichzeitig von 8 verschiedenen Schnittstellen lesen. Das scheint problemlos zu funktionieren, bis das Programm nach einigen Durchläufen zufällg mit der Meldung "I/O possible" abstürzt.

    Dieser Text gehört meines Wissens zum SIGIO bzw. SIGPOLL Signal und in der Tat setzt LibSerial asynchrone Kommunikation ein, indem es einen eigenen Handler für SIGIO registriert.

    Nur, was soll das jetzt bedeuten? Ist der Handler plötzlich nicht mehr registriert oder wo kann da das Problem liegen?

    Im Übrigen ist es so, dass ein Test mit 2 Schnittstellen gleichzeitig bereits seit einer Woche läuft, während dieser 8 Schnittstellen-Test schon nach einer Stunde fehlschlägt.

    Danke euch für jede Antwort & greeetz
    Kessi


Log in to reply