While "testing" some REALLY simple servers that I wrote I noticed something, maybe this is a bug or maybe Im plain dumb and im missing something (-; Heres the thing, whenever I start 2 or more task/threads that contain some sort of a 'pause' in the for l4_i386_ipc_receive(L4_NIL_ID ... it seems to be that all tasks/threads block forever, eventhough they have a TIMEOUT of 4 secs, sometimes even less. Example for 2 tasks: Initialization stuff . . for(;;){ printf("."); /* wait 4 sec */ l4_i386_ipc_receive(L4_NIL_ID, 0, &d1, &d2, L4_IPC_TIMEOUT(0,0,255,8,0,0), &result); } In this example you have 2 tasks which do the same thing, just printf("something"); . Very simple, but they seem to block. The same thing happens if you create a new thread with l4_thread_ex_regs, and you have the same loop (for ... printf ... l4_ipc_recev) in a function, say my_thread, and send &my_thread as the EIP. Well, if you happen to remove those 'pauses' all threads/tasks seem to work just fine (although if youre printing in each of them you cant see anything (-: So thats it. Did anyone had this error ?? Cervi~no Ulises <kermit@tower.com.ar> <c-3087-2@unrctu.edu.ar> ...............................................................................
participants (1)
-
kermit the frog