Does the Linux just freeze or does the RT thread hang?

} i have a problem with rtL pthread : the system freeze after n iterations
} with n between 150 and 1200...
} 
} here is the offending code (it deal with the parallel port, used as a login input 
with
} a IR Led sensor connected)
} 
} Cedric
} -----
} 
} #include <rtl_fifo.h>
} #include <rtl_core.h>
} #include <rtl_time.h>
} #include <rtl.h>
} #include <pthread.h>
} #include <asm/io.h>
} 
} #define LPT_PORT 0x378
} #define LPT_CONTROL 0x37A
} #define LPT_STATE 0x379
} 
} #define FIFO_BUF_LENGTH 4000
} pthread_t look_ack;
} long time_base=1000000000L;
} int FIFO_NB=0;
} 
} void *watch_ack(void *param)
} {
}   unsigned char loading_mesg,loading_mesg_old=0;
}   int time_length=0;
}   struct sched_param p;
}   p.sched_priority=1;
}   pthread_setschedparam(pthread_self(),SCHED_FIFO,&p);
}   pthread_make_periodic_np(pthread_self(),gethrtime(),10000L);
}   while(1)
}     {
}       loading_mesg=inb(LPT_STATE);
} 
}       //      rtl_printf("Valeur %#x depuis %d\n", loading_mesg, time_length);
}       loading_mesg&=0x40;
}       if(loading_mesg!=loading_mesg_old)
}         {
}           rtl_printf("Changement : %#x\n",loading_mesg);
}           rtf_put(FIFO_NB,&time_length,sizeof(time_length));
}           time_length=0;
}           loading_mesg_old=loading_mesg;
}         }
}       time_length++;
}       pthread_wait_np();     
}     }
} }
} 
} int init_module(void)
} {
}   printk("Start executing....\n Please wait.... fifo %d taille %d periode %ld\n"
} , FIFO_NB, FIFO_BUF_LENGTH, time_base);
} 
}   
}   rtf_create(FIFO_NB,FIFO_BUF_LENGTH);
}   
}   pthread_create(&look_ack,NULL,watch_ack,NULL);
}  
}   return 0;
} }
} 
} void cleanup_module(void)
} {
}   printk("Thanks for waiting\nBye.\n");
}   pthread_delete_np(look_ack);
}   rtf_destroy(FIFO_NB);
} }
} -- [rtl] ---
} To unsubscribe:
} echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
} echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
} --
} For more information on Real-Time Linux see:
} http://www.rtlinux.org/rtlinux/
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/

Reply via email to