support for sda3016ss

Change-Id: Id86e26e2389455e04173a1568b503d3bd77dac6d
diff --git a/agent/common/server.cc b/agent/common/server.cc
index 3199a51..83a66f3 100644
--- a/agent/common/server.cc
+++ b/agent/common/server.cc
@@ -42,6 +42,7 @@
 
 const char *serverPort = "0.0.0.0:9191";
 int signature;
+std::unique_ptr<Server> server;
 
 Queue<openolt::Indication> oltIndQ;
 
@@ -240,6 +241,7 @@
             openolt::Empty* response) override {
 
         uint8_t ret = system("shutdown -r now");
+        server->Shutdown();
 
         return Status::OK;
 
@@ -419,7 +421,7 @@
     builder.AddListeningPort(server_address, credentials);
     builder.RegisterService(&service);
 
-    std::unique_ptr<Server> server(builder.BuildAndStart());
+    server = builder.BuildAndStart();
 
     time_t now;
     time(&now);