[gnome-color-manager/colord: 20/72] Do not allow GcmClient to thread
- From: Richard Hughes <rhughes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-color-manager/colord: 20/72] Do not allow GcmClient to thread
- Date: Tue, 8 Mar 2011 11:25:01 +0000 (UTC)
commit 779ac40ba9fb027dcb879419d59c74d5d47e803f
Author: Richard Hughes <richard hughsie com>
Date: Sun Jan 16 20:49:13 2011 +0000
Do not allow GcmClient to thread
src/cc-color-panel.c | 1 -
src/gcm-client.c | 72 ++++++-------------------------------------------
src/gcm-client.h | 2 -
3 files changed, 9 insertions(+), 66 deletions(-)
---
diff --git a/src/cc-color-panel.c b/src/cc-color-panel.c
index 3a13b2c..8def2c0 100644
--- a/src/cc-color-panel.c
+++ b/src/cc-color-panel.c
@@ -2560,7 +2560,6 @@ cc_color_panel_init (CcColorPanel *panel)
/* use a device client array */
panel->priv->gcm_client = gcm_client_new ();
- gcm_client_set_use_threads (panel->priv->gcm_client, TRUE);
g_signal_connect (panel->priv->gcm_client, "added", G_CALLBACK (cc_color_panel_added_cb), panel);
g_signal_connect (panel->priv->gcm_client, "removed", G_CALLBACK (cc_color_panel_removed_cb), panel);
g_signal_connect (panel->priv->gcm_client, "changed", G_CALLBACK (cc_color_panel_changed_cb), panel);
diff --git a/src/gcm-client.c b/src/gcm-client.c
index 621f223..77cdc4f 100644
--- a/src/gcm-client.c
+++ b/src/gcm-client.c
@@ -50,7 +50,6 @@ static void gcm_client_finalize (GObject *object);
#ifdef HAVE_SANE
static gboolean gcm_client_coldplug_devices_sane (GcmClient *client, GError **error);
-static gpointer gcm_client_coldplug_devices_sane_thrd (GcmClient *client);
#endif
/**
@@ -66,7 +65,6 @@ struct _GcmClientPrivate
GSettings *settings;
gboolean loading;
guint loading_refcount;
- gboolean use_threads;
gboolean init_sane;
guint refresh_id;
guint emit_added_id;
@@ -76,7 +74,6 @@ enum {
PROP_0,
PROP_DISPLAY_NAME,
PROP_LOADING,
- PROP_USE_THREADS,
PROP_LAST
};
@@ -95,16 +92,6 @@ G_DEFINE_TYPE (GcmClient, gcm_client, G_TYPE_OBJECT)
#define GCM_CLIENT_SANE_REMOVED_TIMEOUT 200 /* ms */
/**
- * gcm_client_set_use_threads:
- **/
-void
-gcm_client_set_use_threads (GcmClient *client, gboolean use_threads)
-{
- client->priv->use_threads = use_threads;
- g_object_notify (G_OBJECT (client), "use-threads");
-}
-
-/**
* gcm_client_set_loading:
**/
static void
@@ -369,7 +356,6 @@ gcm_client_sane_refresh_cb (GcmClient *client)
{
gboolean ret;
GError *error = NULL;
- GThread *thread;
/* inform UI if we are loading devices still */
client->priv->loading_refcount = 1;
@@ -377,20 +363,11 @@ gcm_client_sane_refresh_cb (GcmClient *client)
/* rescan */
g_debug ("rescanning sane");
- if (client->priv->use_threads) {
- thread = g_thread_create ((GThreadFunc) gcm_client_coldplug_devices_sane_thrd, client, FALSE, &error);
- if (thread == NULL) {
- g_debug ("failed to rescan sane devices: %s", error->message);
- g_error_free (error);
- goto out;
- }
- } else {
- ret = gcm_client_coldplug_devices_sane (client, &error);
- if (!ret) {
- g_debug ("failed to rescan sane devices: %s", error->message);
- g_error_free (error);
- goto out;
- }
+ ret = gcm_client_coldplug_devices_sane (client, &error);
+ if (!ret) {
+ g_debug ("failed to rescan sane devices: %s", error->message);
+ g_error_free (error);
+ goto out;
}
out:
return FALSE;
@@ -669,15 +646,6 @@ out:
return ret;
}
-/**
- * gcm_client_coldplug_devices_sane_thrd:
- **/
-static gpointer
-gcm_client_coldplug_devices_sane_thrd (GcmClient *client)
-{
- gcm_client_coldplug_devices_sane (client, NULL);
- return NULL;
-}
#endif
/**
@@ -815,7 +783,6 @@ gboolean
gcm_client_coldplug (GcmClient *client, GcmClientColdplug coldplug, GError **error)
{
gboolean ret = TRUE;
- GThread *thread;
gboolean enable;
g_return_val_if_fail (GCM_IS_CLIENT (client), FALSE);
@@ -837,15 +804,9 @@ gcm_client_coldplug (GcmClient *client, GcmClientColdplug coldplug, GError **err
if (enable && (!coldplug || coldplug & GCM_CLIENT_COLDPLUG_SANE)) {
gcm_client_add_loading (client);
g_debug ("adding devices of type SANE");
- if (client->priv->use_threads) {
- thread = g_thread_create ((GThreadFunc) gcm_client_coldplug_devices_sane_thrd, client, FALSE, error);
- if (thread == NULL)
- goto out;
- } else {
- ret = gcm_client_coldplug_devices_sane (client, error);
- if (!ret)
- goto out;
- }
+ ret = gcm_client_coldplug_devices_sane (client, error);
+ if (!ret)
+ goto out;
}
#endif
out:
@@ -933,7 +894,7 @@ gcm_client_add_device (GcmClient *client, GcmDevice *device, GError **error)
g_ptr_array_add (client->priv->array, g_object_ref (device));
g_signal_connect (device, "changed", G_CALLBACK (gcm_client_device_changed_cb), client);
- /* emit a signal from the main thread, not this one */
+ /* emit a signal */
gcm_client_emit_added_idle (client, device);
/* all okay */
@@ -1034,9 +995,6 @@ gcm_client_get_property (GObject *object, guint prop_id, GValue *value, GParamSp
case PROP_LOADING:
g_value_set_boolean (value, priv->loading);
break;
- case PROP_USE_THREADS:
- g_value_set_boolean (value, priv->use_threads);
- break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -1057,9 +1015,6 @@ gcm_client_set_property (GObject *object, guint prop_id, const GValue *value, GP
g_free (priv->display_name);
priv->display_name = g_strdup (g_value_get_string (value));
break;
- case PROP_USE_THREADS:
- priv->use_threads = g_value_get_boolean (value);
- break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -1095,14 +1050,6 @@ gcm_client_class_init (GcmClientClass *klass)
g_object_class_install_property (object_class, PROP_LOADING, pspec);
/**
- * GcmClient:use-threads:
- */
- pspec = g_param_spec_boolean ("use-threads", NULL, NULL,
- TRUE,
- G_PARAM_READWRITE);
- g_object_class_install_property (object_class, PROP_USE_THREADS, pspec);
-
- /**
* GcmClient::added
**/
signals[SIGNAL_ADDED] =
@@ -1146,7 +1093,6 @@ gcm_client_init (GcmClient *client)
client->priv = GCM_CLIENT_GET_PRIVATE (client);
client->priv->display_name = NULL;
client->priv->loading_refcount = 0;
- client->priv->use_threads = FALSE;
client->priv->init_sane = FALSE;
client->priv->settings = g_settings_new (GCM_SETTINGS_SCHEMA);
client->priv->array = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
diff --git a/src/gcm-client.h b/src/gcm-client.h
index 99e9ca5..e5f08fa 100644
--- a/src/gcm-client.h
+++ b/src/gcm-client.h
@@ -87,8 +87,6 @@ gboolean gcm_client_coldplug (GcmClient *client,
GcmClientColdplug coldplug,
GError **error);
GPtrArray *gcm_client_get_devices (GcmClient *client);
-void gcm_client_set_use_threads (GcmClient *client,
- gboolean use_threads);
gboolean gcm_client_get_loading (GcmClient *client);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]