On 5/7/07, Davide Libenzi <[EMAIL PROTECTED]> wrote:
read(2) is a cancellation point too. So if the fine userspace code issues a random pthread_cancel() to a thread handling that, data is lost together with the session that thread was handling.
This is absolutely not comparable. When read/write is canceled no data is lost. Some other thread might have to pick up the slack but that's it. With your poll extensions where one thread gets notified and then the kernel forgets about the event information. Now this information is only available in the thread itself. How can a cancellation handler communication this to all the other threads waiting in poll()? Every event which is reported and forgotten must be communication. To make things more fun, the various waiters can be in different processes. We went over this for kevent discussions. I really am not willing to do it all again especially since there is no hope to achieve a satisfying result with poll. So, don't count my silence as agreement, it isn't. - 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/