Creating completion variable
Wait for completion
IO wait for completion
Interruptible wait for completion
Killable wait for completion