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?