QNX sigevent Struktur
-
Hi ich weiss das is ne QNX pezifische Sache. Hoffe das ich trotzdem hier richtig bin. Es geht um bsp:
einen Interrupt zu werfen die nur das nötigste macht und dann einen Thread anstösst.
Bsp.:#include <sys/siginfo.h> ... struct sigevent event; ... int_hd=InterruptAttach(irq_id,isr,&event,sizeof(event),0); ... // enable INT ... while (condition){ // wait for interrupt-event InterruptWait( 0, NULL ); // parameter sind fix // do the service ... }//while ... // disable INT ... // deinstall ISR rc=InterruptDetach( int_hd );
ISR:
const struct sigevent *isr (void *arg_p1o, int int_hd){ struct sigevent *event_p1o = (struct sigevent *)(arg_p1o); // check and clear interrupt source ... ... // signal Thread to do service SIGEV_INTR_INIT( event_p1o ); // return(event_p1o); }//isr
Ich komme mit diesem SIGEV_INTR_INIT nicht zurecht. In der ISR sag ich ihm ja dann Springe zu event_p1o.
Ist das dann so das er dann dahin springt wo ich das letzte mal bsp: SIGEV_INTR_INIT(&event); aufgerufen habe oder wie teile ich dem Event dann genau mit was er machen soll?
Danke und Gruss
-
Moin.
Welche QNX-Version nutzt du?
Gruß, Sven
Nachtrag: Gehört dies nicht eher in den Bereich "Rund um die Programmierung"?
Denn zum ANSI-Standard gehört die Frage eigentlich nicht. ^^