ok, so something like handshaking:
// Wait for access to I2C bus.
nilSemWait(&i2cSem); << waits on signal I2C is free (resource semaphore 1 -> 0 )
// Access I2C bus here.
// Release I2C bus.
nilSemSignal(&i2cSem); >> signals I2C is free (resource semaphore 0 -> 1 )
I'll try..
thx..it seems it works.. now I know why we need counting semaphores