Exemple #1
0
void cleanup_module (void)
{
	stop_rt_timer();
	rt_busy_sleep(10000000);
	rt_task_delete(&thread);
	rtai_kfree(nam2num(SHMNAM));
	rtai_kfree(nam2num(SHMNAM));
	rtai_kfree(nam2num(SHMNAM));
	rtai_kfree(nam2num(SHMNAM));
	rtai_kfree(nam2num(SHMNAM));
	rtai_kfree(nam2num(SHMNAM));
}
void* shm_handler(unsigned int srq, unsigned long arg) {
  switch (srq) {
  case CMD_RTAI_KMALLOC:
    do {
      struct rtai_kmalloc_desc *mem = (struct rtai_kmalloc_desc*)arg;
      return rtai_kmalloc(mem->name,mem->size);
    } while(0);
    break;
  case CMD_RTAI_KFREE:
    do {
      struct rtai_kfree_desc *mem = (struct rtai_kfree_desc*)arg;    
      rtai_kfree(mem->name);
      return 0;
    } while(0);    
    break;
  default:
    break;
  };
  return (void*)-EINVAL;
};