lock ionrcv_sem first