# Are all system calls blocking?

I was reading an article that describes the switch between user-space and kernel-space that happens upon a system call. The article says

An application expects the completion of the system call before resuming user-mode execution.

Now, until now I was assuming that some system calls are blocking, whereas others are non-blocking. With the comment above, I am now confused. Does this mean that all system calls are blocking or did I misunderstand a concept?

• @Ankit Please explain why you rolled back the edit. Note that editing to improve a post's details is standard policy on SE and does not imply an implicit critique. – Raphael Mar 14 '12 at 8:52
• @Raphael Sorry bro! I was just fiddling around and pushed the rollback by mistake and then could not find the previous version. In fact, I really liked your edit. :P – Ankit Mar 14 '12 at 13:42
• @Raphael Got it back. Actually I got duped by the revision system (did not recognize 'article' was a link). Thanks for the edits. – Ankit Mar 14 '12 at 13:45
• @Ankit: Glad I could help! – Raphael Mar 14 '12 at 13:54