diff options
author | Yunmi Ha <yunmi.ha@samsung.com> | 2017-01-12 15:11:04 +0900 |
---|---|---|
committer | Yunmi Ha <yunmi.ha@samsung.com> | 2017-01-12 15:11:46 +0900 |
commit | f74e7e02dfecaefd0ae6339928c8c0382f2e9b0b (patch) | |
tree | 8f456f82ebf96019a0ee9eae75982906f08d4e82 | |
parent | d0a9faced7c354c3a85035d6e45586f5dd33ed21 (diff) | |
parent | c7b37ce175b676d4d0337f91bdf445e855b339fb (diff) | |
download | tlm-f74e7e02dfecaefd0ae6339928c8c0382f2e9b0b.tar.gz tlm-f74e7e02dfecaefd0ae6339928c8c0382f2e9b0b.tar.bz2 tlm-f74e7e02dfecaefd0ae6339928c8c0382f2e9b0b.zip |
Merge branch 'tizen_3.0' into tizensubmit/tizen/20170113.015141accepted/tizen/wearable/20170113.224038accepted/tizen/tv/20170113.224021accepted/tizen/mobile/20170113.224007accepted/tizen/ivi/20170113.224056accepted/tizen/common/20170113.183727
Change-Id: Icdd251ed111e66299123dcfb05ffa6088741ebc4
Signed-off-by: Yunmi Ha <yunmi.ha@samsung.com>
-rwxr-xr-x | packaging/tlm.spec | 3 | ||||
-rwxr-xr-x | src/daemon/tlm-main.c | 16 | ||||
-rwxr-xr-x[-rw-r--r--] | src/daemon/tlm-manager.c | 30 |
3 files changed, 37 insertions, 12 deletions
diff --git a/packaging/tlm.spec b/packaging/tlm.spec index e8c849f..02d2dcf 100755 --- a/packaging/tlm.spec +++ b/packaging/tlm.spec @@ -205,7 +205,8 @@ install -m 644 data/tizen-ivi/etc/profile.d/* %{buildroot}%{_sysconfdir}/profile %endif install -m 644 data/tizen-common/etc/tlm*.conf %{buildroot}%{_sysconfdir} install -m 755 data/tizen-common/etc/session.d/* %{buildroot}%{_sysconfdir}/session.d/ - +chmod 700 %{buildroot}%{_bindir}/%{name} +chmod 700 %{buildroot}%{_bindir}/%{name}-sessiond %post /sbin/ldconfig diff --git a/src/daemon/tlm-main.c b/src/daemon/tlm-main.c index ab74eec..21fe477 100755 --- a/src/daemon/tlm-main.c +++ b/src/daemon/tlm-main.c @@ -145,10 +145,18 @@ int main(int argc, char *argv[]) manager = tlm_manager_new (username); if (manager) { - _setup_unix_signal_handlers (manager); - - if (TRUE == tlm_manager_start (manager)) { - g_main_loop_run (main_loop); + GValue value = G_VALUE_INIT; + g_value_init (&value, G_TYPE_BOOLEAN); + g_object_get_property(G_OBJECT(manager),"dbus-connected", &value); + + if (g_value_get_boolean(&value)) { + _setup_unix_signal_handlers (manager); + + if (TRUE == tlm_manager_start (manager)) { + g_main_loop_run (main_loop); + } + } else { + CRITICAL("Fail to get system bus!!! Shut down the tlm"); } g_object_unref (G_OBJECT(manager)); diff --git a/src/daemon/tlm-manager.c b/src/daemon/tlm-manager.c index 8ba4ec8..72e7bed 100644..100755 --- a/src/daemon/tlm-manager.c +++ b/src/daemon/tlm-manager.c @@ -73,6 +73,7 @@ struct _TlmManagerPrivate enum { PROP_0, PROP_INITIAL_USER, + PROP_DBUS_CONNECTED, N_PROPERTIES }; static GParamSpec *pspecs[N_PROPERTIES]; @@ -169,6 +170,12 @@ _manager_get_property (GObject *obj, case PROP_INITIAL_USER: g_value_set_string (value, manager->priv->initial_user); break; + case PROP_DBUS_CONNECTED: + if (manager->priv->connection) + g_value_set_boolean (value, TRUE); + else + g_value_set_boolean (value, FALSE); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, property_id, pspec); } @@ -184,7 +191,7 @@ tlm_manager_constructor (GType gtype, guint n_prop, GObjectConstructParam *prop) manager = G_OBJECT_CLASS (tlm_manager_parent_class)-> constructor (gtype, n_prop, prop); g_object_add_weak_pointer (G_OBJECT(manager), (gpointer*)&manager); - + return manager; } @@ -207,6 +214,14 @@ tlm_manager_class_init (TlmManagerClass *klass) "User name for initial auto-login", NULL, G_PARAM_READWRITE|G_PARAM_CONSTRUCT_ONLY|G_PARAM_STATIC_STRINGS); + + pspecs[PROP_DBUS_CONNECTED] = + g_param_spec_boolean ("dbus-connected", + "dbus connected", + "dbus connected", + FALSE, + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + g_object_class_install_properties (g_klass, N_PROPERTIES, pspecs); signals[SIG_SEAT_ADDED] = g_signal_new ("seat-added", @@ -415,12 +430,6 @@ tlm_manager_init (TlmManager *manager) TlmManagerPrivate *priv = TLM_MANAGER_PRIV (manager); priv->config = tlm_config_new (); - priv->connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error); - if (!priv->connection) { - CRITICAL ("error getting system bus: %s", error->message); - g_error_free (error); - return; - } priv->seats = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, (GDestroyNotify)g_object_unref); @@ -437,6 +446,13 @@ tlm_manager_init (TlmManager *manager) "default")); _load_auth_plugins (manager); + priv->connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error); + if (!priv->connection) { + CRITICAL ("error getting system bus: %s", error->message); + g_error_free (error); + return; + } + /* delete tlm runtime directory */ tlm_utils_delete_dir (TLM_DBUS_SOCKET_PATH); priv->dbus_observer = TLM_DBUS_OBSERVER (tlm_dbus_observer_new (manager, |