]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
When writing out updated pollfd records when returning from
authorrwatson <rwatson@FreeBSD.org>
Wed, 11 Mar 2009 22:00:03 +0000 (22:00 +0000)
committerrwatson <rwatson@FreeBSD.org>
Wed, 11 Mar 2009 22:00:03 +0000 (22:00 +0000)
commit843cb67ec07766f86673a964bf00a49b9871ba9b
tree05f579393beea8044802da725fd50ad0734f1334
parent2548f05c6c8be3fe53f4191e634699bb4fa4c56b
When writing out updated pollfd records when returning from
poll(), only copy out the revents field, not the whole pollfd
structure.  Otherwise, if the events field is updated
concurrently by another thread, that update may be lost.

This issue apparently causes problems for the JDK on FreeBSD,
which expects the Linux behavior of not updating all fields
(somewhat oddly, Solaris does not implement the required
behavior, but presumably our adaptation of the JDK is based
on the Linux port?).

MFC after:      2 weeks
PR: kern/130924
Submitted by:   Kurt Miller <kurt @ intricatesoftware.com>
Discussed with: kib
sys/kern/sys_generic.c