Frage

könnte ich das alles falsch nähern, aber ...

Ich habe ein Linux-Kernel-Gerätetreiber, die einen externen Interrupt behandelt und zur Zeit führt eine printk (), wenn sie auftritt.

Was würde Ich mag zu tun ist, einen Benutzerraum app sagen, dass dieses Ereignis aufgetreten ist, so kann es aufwachen und ein paar Sachen tun.

Ist es möglich (/ simple / Good Practice) die SIGUSR1 zu setzen aus dem Kernel und erfassen sie dann vom Benutzerraum über

signal (SIGUSR1, <handler function>);

Danke

War es hilfreich?

Lösung

Das klingt nicht wie eine sehr gute Idee. Wenn es überhaupt möglich ist, würde man irgendwie muss dem Fahrer die Prozess-ID des User-Space-Typs geben, damit der Fahrer finagle könnte ein Signal, um es zu bekommen.

Ich würde erstellen / dev / xxx, öffnen Sie es, und der Fahrer könnte den Dateideskriptor aktiv, wenn das Ereignis eintritt. Vielleicht noch mehr Informationen zur Verfügung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top