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/