[vbox-dev] vgdrvIoCtl_CancelAllWaitEvents inconsistent behavior ?
Hans de Goede
hdegoede at redhat.com
Thu Jul 6 09:08:37 UTC 2017
On 06-07-17 08:12, Michael Thayer wrote:
> Hello Hans,
> 05.07.2017 21:47, Hans de Goede wrote:
> [Discussion of CANCEL_ALL_WAITEVENTS use in seamless.cpp and behaviour
> changes in r67796, r67798 and r67802.]
>> Looks good, thanks I'm still going to go for compatibility
>> with the old behavior though, to ensure existing guest addition
>> installs keep working if they end up using the in kernel
>> vboxguest version. Do you agree that that is the right thing to do ?
> [...]Again, your choice but I personally don't think that it is worth
> it. Old Additions should always be installed with a matching kernel
> module, which in all recent versions should explicitly override any
> version supplied by the kernel. Any older versions are very unlikely to
> be run in conjunction with a recent kernel, because the included modules
> would not build against it, and the user would almost certainly upgrade.
OK, so you say it is ok to assume the new behavior for the mainline kernel
version, where VBOXGUEST_IOCTL_CANCEL_ALL_WAITEVENTS cancels any current
and any new waiters in the same session. That will make the code a bit
cleaner, so I like it :)
The only remaining user of VBOXGUEST_IOCTL_CANCEL_ALL_WAITEVENTS (under
Linux) I can find then is src/VBox/Additions/common/VBoxService/VBoxServiceCpuHotPlug.cpp
which seems to be fine with the new behavior.
TL;DR: I will use the new behavior for my cleaned up linux-only
vboxguest kernel module code.
More information about the vbox-dev