All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-help] interrupt programm hang up the computer
@ 2007-11-27 10:12 Andreas Vogt
  2007-11-27 10:27 ` Philippe Gerum
  0 siblings, 1 reply; 2+ messages in thread
From: Andreas Vogt @ 2007-11-27 10:12 UTC (permalink / raw)
  To: xenomai

[-- Attachment #1: Type: text/plain, Size: 634 bytes --]

Hello,

I try to implement an interrupt but I get always the error message -38. What does this messages mean?
And when i delete in the section...

if (err > 0) {int_count++;}
	 else {
			printf("interrupt_task_2 error = %i\n", err);
		}
		rt_intr_enable (&intr_desc); 
       
	   }

 ... the printf command the program hang up.

In my config the XENO_OPT_NATIVE_INTR is not set. Cause this any Problem?
_______________________________________________________________________
Jetzt neu! Schützen Sie Ihren PC mit McAfee und WEB.DE. 3 Monate
kostenlos testen. http://www.pc-sicherheit.web.de/startseite/?mc=022220


[-- Attachment #2: timer.c --]
[-- Type: text/x-csrc, Size: 1433 bytes --]

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <signal.h>
#include <sys/time.h>
#include <sys/io.h>
#include <sys/mman.h>
#include <native/task.h>
#include <native/queue.h>
#include <native/intr.h>
 
#define IRQ_NUMBER 7  /* Intercept interrupt #7 */
#define TASK_PRIO  99 /* Highest RT priority */
#define TASK_MODE  0  /* No flags */
#define TASK_STKSZ 0  /* Stack size (use default one) */
int end = 0;
RT_INTR intr_desc; 
RT_TASK server_desc;



void irq_server (void *cookie){
int err=0;
int int_count;		
    
while(!end){
        /* Wait for the next interrupt on channel #7. */
        err = rt_intr_wait(&intr_desc,TM_INFINITE);
	if (err > 0) {int_count++;printf("interrupt_task error = %i\n", int_count);}
	 else {
			printf("interrupt_task_2 error = %i\n", err);
		}
		rt_intr_enable (&intr_desc); 
       
	   }
 }

int main (int argc, char *argv[]){
int err = 0;
mlockall(MCL_CURRENT|MCL_FUTURE);


err = rt_intr_create(&intr_desc,"MyIrq",IRQ_NUMBER,0);

err = rt_task_create(&server_desc,"MyIrqServer",TASK_STKSZ,TASK_PRIO,TASK_MODE);
if (err) {
		printf("error rt_task_spawn\n");
		return 0;
	 }
else printf("start\n");
    
err = rt_task_start(&server_desc,&irq_server,NULL);
if (err) {
		printf("error rt_task_spawn\n");
		return 0;
	 }
else printf("start\n");
 }

 void cleanup (void)
 
 {
     end = 1;
     rt_intr_delete(&intr_desc);
     rt_task_delete(&server_desc);
 }

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Xenomai-help] interrupt programm hang up the computer
  2007-11-27 10:12 [Xenomai-help] interrupt programm hang up the computer Andreas Vogt
@ 2007-11-27 10:27 ` Philippe Gerum
  0 siblings, 0 replies; 2+ messages in thread
From: Philippe Gerum @ 2007-11-27 10:27 UTC (permalink / raw)
  To: Andreas Vogt; +Cc: xenomai

Andreas Vogt wrote:
> Hello,
> 
> I try to implement an interrupt but I get always the error message -38.

-ENOSYS. Function not implemented.

 What does this messages mean?
> And when i delete in the section...
> 
> if (err > 0) {int_count++;}
> 	 else {
> 			printf("interrupt_task_2 error = %i\n", err);
> 		}
> 		rt_intr_enable (&intr_desc); 
>        
> 	   }
> 
>  ... the printf command the program hang up.
>

Infinite loop you created yourself by not testing the status returned
from rt_intr_wait().

What about testing the return code from rt_intr_create() too?

> In my config the XENO_OPT_NATIVE_INTR is not set. Cause this any Problem?
> __________________

Yes. This is why you get -ENOSYS.

_____________________________________________________
> Jetzt neu! Schützen Sie Ihren PC mit McAfee und WEB.DE. 3 Monate
> kostenlos testen. http://www.pc-sicherheit.web.de/startseite/?mc=022220
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Xenomai-help mailing list
> Xenomai-help@domain.hid
> https://mail.gna.org/listinfo/xenomai-help


-- 
Philippe.


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-11-27 10:27 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-27 10:12 [Xenomai-help] interrupt programm hang up the computer Andreas Vogt
2007-11-27 10:27 ` Philippe Gerum

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.