Linus Torvalds a écrit :
Ok, here's another entry in this discussion.
- IF the system call blocks, we call the architecture-specific "schedule_async()" function before we even get any scheduler locks, and it can just do a fork() at that time, and let the *child* return to the original user space. The process that already started doing the system call will just continue to do the system call.
Well, I guess if the original program was mono-threaded, and syscall used fget_light(), we might have a problem here if the child try a close(). So you may have to disable fget_light() magic if async call is the originator of the syscall.
Eric - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/