C; this routine basically sets the current task's state to TASK_KILLABLE and calls schedule_timeout , which makes the callingtask sleep for timeout number of jiffies.
This is especially important when asynchronous invocation is used where the callingtask has to look for the output of the called task appearing at a particular location to continue further.