Hello, I have encountered an interesting problem which raises a question that I cannot find an answer to in the C library documentation of the RealView compilation tools: When 'printf' is called from within one of my tasks (it is my own scheduler, running on an STR912) and is guarded by calls to function that disable and re-enable the scheduler interrupt, output to the serial port is correct. However, if I use a mutex (hand made) to guard the call, some of the output is distorted. I am sure that the mutex is correctly implemented, as I have verified that by sharing a computation among several tasks - and checking for the expected result in the guarded area. So if the scheduler is correct, the mutex is working, and disabling the scheduler interrupt around 'printf' generates the correct output but the mutex not (but is it working properly), then the problem must be 'printf' itself (when a tasks locks a mutex and calls 'printf', it can still be interrupted, of course - but the scheduler will not allow a task that is waiting for that mutex to be scheduled). Please note that the scheduler interrupt does cot compromise any data that 'printf' might be using. The libraries guide only address thread-safety. Do you know more?