Hallo, I can describe the error better now. If I use a file "test" instead of "/dev/rtf0", my try to write doesn't crash. It looks like a bug? inside the device driver for me. Is any help here? Olaf ------------------------8<--------------------------- #define TASK1 0 #define TASK2 1 #define TASK3 2 #define TASK4 3 #define TASKS 3 #define TASK_ID(t) (1<<(t)) /* for ID 1,2,4,8 .. */ #define CTRL_FIFO 6 #define CTRL_FIFO_SIZE 1024 typedef struct { unsigned int inuse; unsigned int task; unsigned int command; unsigned int command_number; /* testing of actuallity of command */ int arg1; int arg2; } MY_COMMAND; #define COMMAND_TASK_START (1<<0) /* 1 */ #define COMMAND_TASK_ON (1<<1) /* 2*/ #define COMMAND_TASK_OFF (1<<2) /* 3 */ #define COMMAND_TASK_PERIOD (1<<3) /* 8 */ int main(int argc, char **argv) { char fifo_dev[10]; /* Ctrl-Pipe */ MY_COMMAND msg; int ret=0; int ctrlfd; /* File Descriptor Ctrl-FIFO */ char *progname = argv[0]; /* initialize pipe: CTRL_FIFO */ sprintf(fifo_dev, "hallo%d", CTRL_FIFO); if ((ctrlfd = open(fifo_dev, O_WRONLY)) < 0) { fprintf(stderr, "%s: Error opening Control FIFO %s (%s)\n", progname, fifo_dev, strerror(errno)); exit(errno); } msg.command = COMMAND_TASK_START; msg.task = (TASK_ID(TASK1) | TASK_ID(TASK2) | TASK_ID(TASK3)); if(write(ctrlfd, &msg, sizeof(msg)) < 0) { fprintf(stderr, "set: Can't send a command to Control-FIFO (%s)", strerror(errno)); ret=errno; } return(ret); } --- [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/