Postpone client requests delivered before the service is ready 93/56993/1
authorMu-Woong Lee <muwoong.lee@samsung.com>
Thu, 14 Jan 2016 07:21:28 +0000 (16:21 +0900)
committerMu-Woong Lee <muwoong.lee@samsung.com>
Thu, 14 Jan 2016 07:21:28 +0000 (16:21 +0900)
Change-Id: I3fbfebe4fe914e042caa3ee41d0cf5e1e17b2a1b
Signed-off-by: Mu-Woong Lee <muwoong.lee@samsung.com>
src/server.cpp

index 45d17af..0a6a8c0 100644 (file)
@@ -129,8 +129,20 @@ void ctx::server::release()
        delete timer_mgr;
 }
 
+static gboolean postpone_request_assignment(gpointer data)
+{
+       ctx::server::send_request(static_cast<ctx::request_info*>(data));
+       return FALSE;
+}
+
 void ctx::server::send_request(ctx::request_info* request)
 {
+       if (!started) {
+               _W("Service not ready...");
+               g_idle_add(postpone_request_assignment, request);
+               return;
+       }
+
        if (!trigger->assign_request(request)) {
                context_mgr->assign_request(request);
        }