[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [win-pv-devel] [PATCH 1/2] Add log message if Windows Update requires a reboot
> -----Original Message----- > From: win-pv-devel [mailto:win-pv-devel-bounces@xxxxxxxxxxxxxxxxxxxx] On > Behalf Of owen.smith@xxxxxxxxxx > Sent: 01 November 2017 13:50 > To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx > Cc: Owen Smith <owen.smith@xxxxxxxxxx> > Subject: [win-pv-devel] [PATCH 1/2] Add log message if Windows Update > requires a reboot > > From: Owen Smith <owen.smith@xxxxxxxxxx> > > When Windows requires a reboot to install updates, the reboot and > shutdown > operations can take a long time. The agent will have acknowledged the > request, but the operation may not complete in a suitable timeout period. > Add a log entry to help indicate an additional unknown amount of time > will be required for shutdown/reboot. > > Signed-off-by: Owen Smith <owen.smith@xxxxxxxxxx> Acked-by: Paul Durrant <paul.durrant@xxxxxxxxxx> > --- > src/xenagent/service.cpp | 22 ++++++++++++++++++++++ > src/xenagent/service.h | 1 + > 2 files changed, 23 insertions(+) > > diff --git a/src/xenagent/service.cpp b/src/xenagent/service.cpp > index 0b44186..e2a6c03 100644 > --- a/src/xenagent/service.cpp > +++ b/src/xenagent/service.cpp > @@ -87,6 +87,10 @@ bool CXenIfaceCreator::Start(HANDLE svc) > > void CXenIfaceCreator::Stop() > { > + // Check if registry key is present, implies Windows Update > + // require a reboot, which may spend time installing updates > + LogIfRebootPending(); > + > m_devlist.Stop(); > } > > @@ -280,6 +284,24 @@ bool CXenIfaceCreator::CheckSlateMode(std::string > *mode) > return true; > } > > +void CXenIfaceCreator::LogIfRebootPending() > +{ > + HKEY Key; > + LONG lResult; > + > + lResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE, > + > "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\WindowsUpdate\\Aut > o Update\\RebootRequired", > + 0, > + KEY_READ, > + &Key); > + if (lResult != ERROR_SUCCESS) > + return; // key doesnt exist, dont log anything > + > + RegCloseKey(Key); > + > + CXenAgent::Log("RebootRequired detected\n"); > +} > + > void CXenIfaceCreator::StartShutdownWatch() > { > if (m_ctxt_shutdown) > diff --git a/src/xenagent/service.h b/src/xenagent/service.h > index 60ecb16..e2e5e5c 100644 > --- a/src/xenagent/service.h > +++ b/src/xenagent/service.h > @@ -74,6 +74,7 @@ public: > HANDLE m_evt_slate_mode; > > private: > + void LogIfRebootPending(); > void StartShutdownWatch(); > void StopShutdownWatch(); > void StartSlateModeWatch(); > -- > 2.8.3 > > > _______________________________________________ > win-pv-devel mailing list > win-pv-devel@xxxxxxxxxxxxxxxxxxxx > https://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel _______________________________________________ win-pv-devel mailing list win-pv-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |