Properly implemented system call with interrupts and all that jazz