Hallo, I'm using shared memory described in <http://www.isd.cme.nist.gov/projects/emc/shmem.html> "Using Shared Memory in Real-Time Linux" from Frederick M. Proctor. I expanded the structures for using data like this inside common.h: ... typedef struct { unsigned int inuse; int arg1; double arg2; double LUT[4096]; /* my LoockUpTable for DAU */ } MY_DATA; ... typedef struct { MY_COMMAND cmd; MY_DATA data; MY_STATUS status; MY_ERROR error; } MY_STRUCT; ... inside rt_process.c I wrote: static void task_code(int t) { ... for (;;) { ... my_struct.status.heartbeat++; /* DAQ - Only for fun at moment */ my_struct.data.arg1=0; my_struct.data.arg2=0.0; /* write data to shmem */ if (0 == my_struct_ptr->data.inuse) memcpy(&my_struct_ptr->data, &my_struct.data, sizeof(MY_DATA)); ... rt_task_wait(); } } with the result, my system is frozen for a long time (mostly a hard reset was following..) while insmod rtmod # time insmod rtmod.o && rmmod rtmod && echo DONE real 0m0.010s user 0m0.010s sys 0m0.000s DONE This is was time says. What is wrong with this code? or is there another/better/faster way? Without this structure data all things are fine. Olaf --- [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/