-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement pipe(2)
#58
Comments
I've implemented the pipes; you can find them in the official Now, they work both in block and non-blocking mode. I've added The blocking pipe uses wait queues, so there is no mechanical polling. However, even with the blocking pipe, on the user side, we need to write something like this:
That's because, even with the blocking behavior, once there is something to read, it will first return that there is nothing to read, and then at the second call, it will give you the data. The reason is explained in the following. I'll try my best to make it clear. Here is the blocking behavior:
So, it's like, I cannot interrupt the kernel execution midway through the |
No description provided.
The text was updated successfully, but these errors were encountered: