[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [win-pv-devel] [PATCH 16/20] Only acknowledge the shutdown if type is known



> -----Original Message-----
> From: win-pv-devel [mailto:win-pv-devel-bounces@xxxxxxxxxxxxxxxxxxxx] On
> Behalf Of Owen Smith
> Sent: 24 May 2016 15:21
> To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
> Cc: Owen Smith
> Subject: [win-pv-devel] [PATCH 16/20] Only acknowledge the shutdown if
> type is known
>

Looks like this should be folded into the previous patch but...
 
> Signed-off-by: Owen Smith <owen.smith@xxxxxxxxxx>
> ---
>  src/liteagent/LiteAgent.cpp | 13 +++++++++++--
>  1 file changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/src/liteagent/LiteAgent.cpp b/src/liteagent/LiteAgent.cpp
> index 9f6f56f..739acbb 100644
> --- a/src/liteagent/LiteAgent.cpp
> +++ b/src/liteagent/LiteAgent.cpp
> @@ -309,8 +309,8 @@ void CLiteAgent::OnShutdown()
> 
>      // check shutdown type and enact shutdown
>      std::string type;
> -    m_dev->StoreRead("control/shutdown", type);
> -    m_dev->StoreRemove("control/shutdown");
> +    if (!m_dev->StoreRead("control/shutdown", type))
> +        return;
> 
>      CLiteAgent::Log("OnShutdown(%s)\n", type.c_str());
> 
> @@ -326,6 +326,7 @@ void CLiteAgent::OnShutdown()
>              m_dev->StoreWrite("control/shutdown-state", "failed");
>              CLiteAgent::Log("InitiateSystemShutdownEx failed %08x\n",
> GetLastError());
>          }
> +        m_dev->StoreRemove("control/shutdown");
>      }
>      else if (type == "reboot") {
>          AcquireSystemPrivilege(SE_SHUTDOWN_NAME);
> @@ -338,6 +339,7 @@ void CLiteAgent::OnShutdown()
>              m_dev->StoreWrite("control/shutdown-state", "failed");
>              CLiteAgent::Log("InitiateSystemShutdownEx failed %08x\n",
> GetLastError());
>          }
> +        m_dev->StoreRemove("control/shutdown");
>      }
>      else if (type == "hibernate") {
>          AcquireSystemPrivilege(SE_SHUTDOWN_NAME);
> @@ -347,6 +349,7 @@ void CLiteAgent::OnShutdown()
>              m_dev->StoreWrite("control/hibernation-state", "failed");
>              CLiteAgent::Log("SetSystemPowerState failed %08x\n",
> GetLastError());
>          }
> +        m_dev->StoreRemove("control/shutdown");
>      }
>      else if (type == "s3") {
>          AcquireSystemPrivilege(SE_SHUTDOWN_NAME);
> @@ -356,6 +359,7 @@ void CLiteAgent::OnShutdown()
>              m_dev->StoreWrite("control/s3-state", "failed");
>              CLiteAgent::Log("SetSuspendState failed %08x\n", GetLastError());
>          }
> +        m_dev->StoreRemove("control/shutdown");
>      }
>  }
> 
> @@ -367,6 +371,11 @@ void CLiteAgent::OnSuspend()
>          return;
>      CLiteAgent::Log("OnSuspend(%ws)\n", m_dev->Path());
> 
> +    if (m_ctxt_shutdown)
> +        m_dev->StoreRemoveWatch(m_ctxt_shutdown);
> +    m_ctxt_shutdown = NULL;
> +    m_dev->StoreAddWatch("control/shutdown", m_shutdown,
> &m_ctxt_shutdown);
> +

... this looks like it should have been in an even earlier patch.

  Paul

>      // advertise
>      m_dev->StoreWrite("control/feature-shutdown", "1");
>      // set xen time
> --
> 1.9.4.msysgit.1
> 
> 
> _______________________________________________
> win-pv-devel mailing list
> win-pv-devel@xxxxxxxxxxxxxxxxxxxx
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel
_______________________________________________
win-pv-devel mailing list
win-pv-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.