X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=zigbee-daemon%2Fsrc%2Fmain.c;h=78639c34f4465059daa70ea8b7c02f6b52ff15bf;hb=d568797ecbc98b9bbf7d537690c326f88f07424d;hp=05895ffb9a089e98f5d9242626428f63138a151a;hpb=352eeded64d38344829acb67cdf61184bc6478b6;p=platform%2Fcore%2Fconnectivity%2Fzigbee-manager.git diff --git a/zigbee-daemon/src/main.c b/zigbee-daemon/src/main.c index 05895ff..78639c3 100644 --- a/zigbee-daemon/src/main.c +++ b/zigbee-daemon/src/main.c @@ -34,6 +34,15 @@ /**< ZigBee Service */ ZigBeeService *zigbee_service; +static gboolean _request_terminate(gpointer user_data) +{ + NOTUSED(user_data); + + zblib_service_exit(zigbee_service); + + return G_SOURCE_REMOVE; +} + int main(int arg, char **argv) { ZigBeeService *service = NULL; @@ -49,8 +58,6 @@ int main(int arg, char **argv) NOTUSED(arg); NOTUSED(argv); - Z_LOGI("service mainloop start"); - /* Create ZigBee service */ zigbee_service = service = zblib_service_new(); @@ -65,10 +72,12 @@ int main(int arg, char **argv) ret = zigbee_service_init(service); if (G_UNLIKELY(FALSE == ret)) { Z_LOGE("zigbee_service_init failed!"); - goto END; + /* Minimum mainloop time is required to notify the result */ + g_timeout_add(100, _request_terminate, NULL); } /* Run ZigBee service */ + Z_LOGI("service mainloop start"); ret = zblib_service_run(service); if (G_UNLIKELY(FALSE == ret)) { Z_LOGE("Run service failed!");