Change to basic.target.wants for TV profile 73/100173/2
authorHyongtaek Lim <hyongtaek.lim@samsung.com>
Fri, 25 Nov 2016 07:58:53 +0000 (16:58 +0900)
committerHyongtaek Lim <hyongtaek.lim@samsung.com>
Mon, 28 Nov 2016 00:37:06 +0000 (09:37 +0900)
Change-Id: Ib716feddceae9f4bb4bea8783a13e4a52a92d630
Signed-off-by: Hyongtaek Lim <hyongtaek.lim@samsung.com>
CMakeLists.txt
packaging/muse-server-tv.service
packaging/mused.spec
src/muse_core.c
src/muse_core_ipc.c
src/muse_core_server.c

index a43c6b5..4e8c5cb 100644 (file)
@@ -36,6 +36,10 @@ IF(${MUSE_USE_LWIPC})
 SET(dependents ${dependents} " lwipc")
 ENDIF(${MUSE_USE_LWIPC})
 
+IF(${MUSE_TTRACE_LOG})
+SET(dependents ${dependents} " ttrace")
+ENDIF(${MUSE_TTRACE_LOG})
+
 SET(pc_dependents "dlog gio-2.0 mm-common capi-base-common libtbm")
 
 INCLUDE(FindPkgConfig)
index 1ee598f..ac231af 100644 (file)
@@ -1,6 +1,5 @@
 [Unit]
 Description=muse server
-After=display-manager.service
 
 [Service]
 Type=forking
@@ -15,4 +14,4 @@ EnvironmentFile=/run/xdg-root-env
 SupplementaryGroups=priv_mediastorage priv_camera
 
 [Install]
-WantedBy=multi-user.target
+WantedBy=basic.target
index b488e3a..74a487d 100644 (file)
@@ -28,6 +28,7 @@ BuildRequires: pkgconfig(gio-2.0)
 %if "%{?TIZEN_PRODUCT_TV}" == "1"
 BuildRequires: pkgconfig(libresourced)
 BuildRequires: pkgconfig(lwipc)
+BuildRequires: pkgconfig(ttrace)
 %endif
 
 Requires(post): /sbin/ldconfig
@@ -67,8 +68,8 @@ export CFLAGS+=" -DMUSE_USE_LOG"
 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
 
 %if "%{?TIZEN_PRODUCT_TV}" == "1"
-export CFLAGS+=" -DTIZEN_PRODUCT_TV -DMUSE_REGISTER_VIP -DMUSE_USE_LWIPC"
-cmake . -DCMAKE_INSTALL_PREFIX=/usr -DFULLVER=%{version} -DMAJORVER=${MAJORVER} -DLIBDIR=%{_libdir} -DTZ_SYS_DATA=%TZ_SYS_DATA -DMUSE_REGISTER_VIP=1
+export CFLAGS+=" -DTIZEN_PRODUCT_TV -DMUSE_REGISTER_VIP -DMUSE_USE_LWIPC -DMUSE_TTRACE_LOG"
+cmake . -DCMAKE_INSTALL_PREFIX=/usr -DFULLVER=%{version} -DMAJORVER=${MAJORVER} -DLIBDIR=%{_libdir} -DTZ_SYS_DATA=%TZ_SYS_DATA -DMUSE_REGISTER_VIP=1 -DMUSE_TTRACE_LOG=1
 %else
 cmake . -DCMAKE_INSTALL_PREFIX=/usr -DFULLVER=%{version} -DMAJORVER=${MAJORVER} -DLIBDIR=%{_libdir} -DTZ_SYS_DATA=%TZ_SYS_DATA
 %endif
@@ -90,9 +91,9 @@ mkdir -p %{buildroot}%{_unitdir}/stater.target.wants
 install -m 0644 %SOURCE5 %{buildroot}%{_unitdir}/muse-server.service
 %install_service starter.target.wants muse-server.service
 %else
-mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
+mkdir -p %{buildroot}%{_unitdir}/basic.target.wants
 install -m 0644 %SOURCE4 %{buildroot}%{_unitdir}/muse-server.service
-%install_service multi-user.target.wants muse-server.service
+%install_service basic.target.wants muse-server.service
 %endif
 %else
 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
@@ -125,9 +126,13 @@ chsmack -a "System::Shared" /var/log/%{name}
 %{_libdir}/libmused.so.*
 %{_datadir}/license/%{name}
 %{_unitdir}/muse-server.service
+%if "%{?profile}" == "tv"
 %if ("%{VD_PRODUCT_TYPE}" == "AUDIO")
 %{_unitdir}/starter.target.wants/muse-server.service
 %else
+%{_unitdir}/basic.target.wants/muse-server.service
+%endif
+%else
 %{_unitdir}/multi-user.target.wants/muse-server.service
 %endif
 %{_unitdir}/muse-server.socket
index 2f10456..7585892 100644 (file)
@@ -37,6 +37,7 @@
 
 #ifdef MUSE_USE_LWIPC
 #include <lwipc.h>
+#define MUSE_LWIPC_WAIT_TIME 1000
 #endif
 
 #define MUSE_LOG_SLEEP_TIMER 10
@@ -267,13 +268,13 @@ static gboolean _muse_core_connection_handler(GIOChannel *source, GIOCondition c
        muse_module_h module = NULL;
        muse_core_workqueue_job_t *job = NULL;
 
-       LOGD("Enter");
+       LOGI("Enter");
 
        server_sockfd = g_io_channel_unix_get_fd(source);
 
        client_len = sizeof(client_address);
        client_sockfd = accept(server_sockfd, (struct sockaddr *)&client_address, &client_len);
-       LOGD("server: %d client: %d", server_sockfd, client_sockfd);
+       LOGI("server: %d client: %d", server_sockfd, client_sockfd);
 
        if (client_sockfd < 0) {
                strerror_r(errno, err_msg, MAX_ERROR_MSG_LEN);
@@ -306,7 +307,7 @@ static gboolean _muse_core_connection_handler(GIOChannel *source, GIOCondition c
 
        muse_core_workqueue_get_instance()->add_job(job);
 
-       LOGD("Leave");
+       LOGI("Leave");
        return TRUE;
 out:
        close(server_sockfd);
@@ -325,7 +326,7 @@ static int _muse_core_client_new(muse_core_channel_e channel)
        int sockfd;
        char err_msg[MAX_ERROR_MSG_LEN] = {'\0',};
 
-       LOGD("Enter");
+       LOGI("Enter");
        g_return_val_if_fail(channel < MUSE_CHANNEL_MAX, MM_ERROR_INVALID_ARGUMENT);
 
        /*Create socket*/
@@ -334,7 +335,7 @@ static int _muse_core_client_new(muse_core_channel_e channel)
                LOGE("[socket failure] sock: %s", err_msg);
                return ret;
        }
-       LOGD("sockfd: %d", sockfd);
+       LOGI("sockfd: %d", sockfd);
 
        if (fcntl(sockfd, F_SETFD, FD_CLOEXEC) < 0) {
                strerror_r(errno, err_msg, MAX_ERROR_MSG_LEN);
@@ -359,10 +360,22 @@ static int _muse_core_client_new(muse_core_channel_e channel)
                return ret;
        }
 
-       LOGD("Leave");
+       LOGI("Leave");
        return sockfd;
 }
 
+#ifdef MUSE_USE_LWIPC
+static void _muse_core_wait_event()
+{
+       const char *lw_event_list[] = { "wm_ready", "avoc_ready" };
+       unsigned int count = sizeof(lw_event_list) / sizeof(char *);
+       char buffer[LWIPC_MAX_EVENTNAME];
+
+       if (LwipcWaitMultiEvents(lw_event_list, count, true, MUSE_LWIPC_WAIT_TIME, buffer) != 0)
+               LOGE("Fail to receive Multiple Events");
+}
+#endif
+
 gpointer muse_core_main_loop(gpointer data)
 {
        #if 0
@@ -408,7 +421,7 @@ int muse_core_run()
        int ready_fd;
 #endif
 
-       LOGD("Enter");
+       LOGI("Enter");
 
        ret = _muse_core_check_server_is_running();
        if (ret == -1) {
@@ -437,6 +450,8 @@ int muse_core_run()
        }
 
 #ifdef MUSE_USE_LWIPC
+       _muse_core_wait_event();
+
        if (LwipcEventDone(MUSE_SERVER_READY) < 0)
                LOGE("Fail to send server ready done event");
 #else
index f598f6c..ae9b018 100644 (file)
@@ -126,7 +126,9 @@ static gpointer _muse_core_ipc_dispatch_worker(gpointer data)
                                                        module->api_module = api_module;
                                                        module->is_create_api_called = true;
                                                        module->ch[MUSE_CHANNEL_MSG].dll_handle = muse_core_module_get_instance()->load(api_module);
+#ifndef MUSE_USE_LWIPC
                                                        if (access(MUSE_SERVER_READY, F_OK) == 0)
+#endif
                                                                muse_core_cmd_dispatch(module, MUSE_MODULE_COMMAND_CREATE_SERVER_ACK);
                                                        module->ch[MUSE_CHANNEL_DATA].queue = g_queue_new();
                                                        g_mutex_init(&module->ch[MUSE_CHANNEL_DATA].mutex);
index a8b78ce..2b9bbdc 100644 (file)
@@ -28,6 +28,9 @@
 #include "muse_core_security.h"
 #include "muse_core_tool.h"
 #include <gst/gst.h>
+#ifdef MUSE_TTRACE_LOG
+#include <trace.h>
+#endif
 
 static void _muse_core_server_setup_syslog(void);
 static void _muse_core_server_gst_init(char **cmd);
@@ -85,6 +88,10 @@ int main(int argc, char **argv)
        int index;
        char err_msg[MAX_ERROR_MSG_LEN] = {'\0',};
 
+#ifdef MUSE_TTRACE_LOG
+       trace_begin("MUSE:START");
+#endif
+
        _muse_core_server_setup_syslog();
 
        /* daemonizing */
@@ -104,11 +111,20 @@ int main(int argc, char **argv)
        muse_core_ipc_init();
        muse_core_security_init();
        muse_core_msg_init();
+#ifdef MUSE_TTRACE_LOG
+       trace_begin("MUSE:gst_init:resistry path:%s", getenv("GST_REGISTRY"));
+#endif
        _muse_core_server_gst_init(argv);
+#ifdef MUSE_TTRACE_LOG
+       trace_end();
+#endif
 
        if (argc > 1 && argv)
                muse_core_tool_parse_params(argc, argv);
 
+#ifdef MUSE_TTRACE_LOG
+       trace_begin("MUSE:preloading module");
+#endif
        for (index = 0; index < muse_core_config_get_instance()->get_host_cnt(); index++) {
                if (0 == strcmp(muse_core_config_get_instance()->get_preloaded(index), "yes")) {
                        muse_module_h module = NULL;
@@ -119,6 +135,9 @@ int main(int argc, char **argv)
                                cmd_dispatcher[MUSE_MODULE_COMMAND_INITIALIZE](module);
                }
        }
+#ifdef MUSE_TTRACE_LOG
+       trace_end();
+#endif
 
        if (muse_core_security_get_instance()->new() < 0) {
                LOGE("Error - muse_core_security new functoion");
@@ -138,5 +157,8 @@ int main(int argc, char **argv)
        result = chdir("/");
        LOGD("result = %d sid: %d pgid: %d pid: %d ppid: %d", result, (int)getsid(0), (int)getpgid(0), (int)getpid(), (int)getppid());
 
+#ifdef MUSE_TTRACE_LOG
+       trace_end();
+#endif
        return muse_core_run();
 }