Use g_task_set_source_tag on all of our async methods

Tue, 20 Feb 2024 00:40:30 -0600

author
Gary Kramlich <grim@reaperworld.com>
date
Tue, 20 Feb 2024 00:40:30 -0600
changeset 42591
aa3f777462d8
parent 42590
452ba49e16d4
child 42592
6b65c0e4ba15

Use g_task_set_source_tag on all of our async methods

This is supposed to help with debugging and profiling per the docs for
g_task_set_name, which is automatically called by g_task_set_source_tag in
glib >= 2.76.0 which is our minimum requirement.

Testing Done:
Consulted with the turtles

Reviewed at https://reviews.imfreedom.org/r/2955/

libpurple/plugins/keychain-access/keychain-access.c file | annotate | diff | comparison | revisions
libpurple/plugins/kwallet/purplekwallet.cpp file | annotate | diff | comparison | revisions
libpurple/plugins/libsecret/libsecret.c file | annotate | diff | comparison | revisions
libpurple/plugins/wincred/wincred.c file | annotate | diff | comparison | revisions
libpurple/purplecredentialmanager.c file | annotate | diff | comparison | revisions
libpurple/purplenoopcredentialprovider.c file | annotate | diff | comparison | revisions
--- a/libpurple/plugins/keychain-access/keychain-access.c	Sat Feb 10 01:32:36 2024 -0600
+++ b/libpurple/plugins/keychain-access/keychain-access.c	Tue Feb 20 00:40:30 2024 -0600
@@ -139,6 +139,7 @@
 
 	/* Create the task and return our results. */
 	task = g_task_new(provider, cancellable, callback, data);
+	g_task_set_source_tag(task, purple_keychain_access_read_password_async);
 
 	if(result == errSecSuccess) {
 		if(CFGetTypeID(item) != CFDataGetTypeID()) {
@@ -236,6 +237,7 @@
 
 	/* Now create the GTask and set the result. */
 	task = g_task_new(provider, cancellable, callback, data);
+	g_task_set_source_tag(task, purple_keychain_access_write_password_async);
 
 	if(result == errSecSuccess) {
 		g_task_return_boolean(task, TRUE);
@@ -303,6 +305,7 @@
 
 	/* Now create the GTask and set the result. */
 	task = g_task_new(provider, cancellable, callback, data);
+	g_task_set_source_tag(task, purple_keychain_access_clear_password_async);
 
 	if(result == errSecSuccess) {
 		g_task_return_boolean(task, TRUE);
--- a/libpurple/plugins/kwallet/purplekwallet.cpp	Sat Feb 10 01:32:36 2024 -0600
+++ b/libpurple/plugins/kwallet/purplekwallet.cpp	Tue Feb 20 00:40:30 2024 -0600
@@ -416,6 +416,12 @@
 
 	task = g_task_new(G_OBJECT(provider), cancellable, callback, data);
 
+	/* We manually set the task name otherwise the (gpointer) cast ends up in
+	 * the name.
+	 */
+	g_task_set_static_name(task, "purple_kwallet_read_password_async");
+	g_task_set_source_tag(task, (gpointer)purple_kwallet_read_password_async);
+
 	request = new PurpleKWalletPlugin::ReadRequest(key, task);
 
 	kwallet_provider = PURPLE_KWALLET_PROVIDER(provider);
@@ -446,6 +452,12 @@
 
 	task = g_task_new(G_OBJECT(provider), cancellable, callback, data);
 
+	/* We manually set the task name otherwise the (gpointer) cast ends up in
+	 * the name.
+	 */
+	g_task_set_static_name(task, "purple_kwallet_write_password_async");
+	g_task_set_source_tag(task, (gpointer)purple_kwallet_write_password_async);
+
 	key = purple_kwallet_provider_account_key(account);
 
 	request = new PurpleKWalletPlugin::WriteRequest(key, task, password);
@@ -477,6 +489,12 @@
 
 	task = g_task_new(G_OBJECT(provider), cancellable, callback, data);
 
+	/* We manually set the task name otherwise the (gpointer) cast ends up in
+	 * the name.
+	 */
+	g_task_set_static_name(task, "purple_kwallet_clear_password_async");
+	g_task_set_source_tag(task, (gpointer)purple_kwallet_clear_password_async);
+
 	key = purple_kwallet_provider_account_key(account);
 
 	request = new PurpleKWalletPlugin::ClearRequest(key, task);
--- a/libpurple/plugins/libsecret/libsecret.c	Sat Feb 10 01:32:36 2024 -0600
+++ b/libpurple/plugins/libsecret/libsecret.c	Tue Feb 20 00:40:30 2024 -0600
@@ -149,7 +149,10 @@
                                      gpointer data)
 {
 	PurpleContactInfo *info = PURPLE_CONTACT_INFO(account);
-	GTask *task = g_task_new(G_OBJECT(provider), cancellable, callback, data);
+	GTask *task = NULL;
+
+	task = g_task_new(G_OBJECT(provider), cancellable, callback, data);
+	g_task_set_source_tag(task, purple_libsecret_read_password_async);
 
 	secret_password_lookup(&purple_libsecret_schema, cancellable,
                            purple_libsecret_read_password_callback, task,
@@ -183,6 +186,7 @@
 	const gchar *username = NULL;
 
 	task = g_task_new(G_OBJECT(provider), cancellable, callback, data);
+	g_task_set_source_tag(task, purple_libsecret_write_password_async);
 	username = purple_contact_info_get_username(info);
 
 	label = g_strdup_printf(_("libpurple password for account %s"), username);
@@ -215,7 +219,10 @@
                                       gpointer data)
 {
 	PurpleContactInfo *info = PURPLE_CONTACT_INFO(account);
-	GTask *task = g_task_new(G_OBJECT(provider), cancellable, callback, data);
+	GTask *task = NULL;
+
+	task = g_task_new(G_OBJECT(provider), cancellable, callback, data);
+	g_task_set_source_tag(task, purple_libsecret_clear_password_async);
 
 	secret_password_clear(&purple_libsecret_schema, cancellable,
 	                      purple_libsecret_clear_password_callback, task,
--- a/libpurple/plugins/wincred/wincred.c	Sat Feb 10 01:32:36 2024 -0600
+++ b/libpurple/plugins/wincred/wincred.c	Tue Feb 20 00:40:30 2024 -0600
@@ -96,6 +96,8 @@
 	PCREDENTIALW credential = NULL;
 
 	task = g_task_new(G_OBJECT(provider), cancellable, callback, data);
+	g_task_set_source_tag(task, purple_wincred_read_password_async);
+
 	target_name = wincred_get_target_name(account, &error);
 	if (target_name == NULL) {
 		g_task_return_error(task, error);
@@ -193,6 +195,7 @@
 	CREDENTIALW credential;
 
 	task = g_task_new(G_OBJECT(provider), cancellable, callback, data);
+	g_task_set_source_tag(task, purple_wincred_write_password_async);
 
 	target_name = wincred_get_target_name(account, &error);
 	if (target_name == NULL) {
@@ -284,6 +287,7 @@
 	gunichar2 *target_name = NULL;
 
 	task = g_task_new(G_OBJECT(provider), cancellable, callback, data);
+	g_task_set_source_tag(task, purple_wincred_clear_password_async);
 
 	target_name = wincred_get_target_name(account, &error);
 	if (target_name == NULL) {
--- a/libpurple/purplecredentialmanager.c	Sat Feb 10 01:32:36 2024 -0600
+++ b/libpurple/purplecredentialmanager.c	Tue Feb 20 00:40:30 2024 -0600
@@ -482,6 +482,7 @@
 	g_return_if_fail(PURPLE_IS_ACCOUNT(account));
 
 	task = g_task_new(manager, cancellable, callback, data);
+	g_task_set_source_tag(task, purple_credential_manager_read_password_async);
 
 	if(manager->active != NULL) {
 		purple_credential_provider_read_password_async(manager->active,
@@ -521,6 +522,8 @@
 	g_return_if_fail(PURPLE_IS_ACCOUNT(account));
 
 	task = g_task_new(manager, cancellable, callback, data);
+	g_task_set_source_tag(task,
+	                      purple_credential_manager_write_password_async);
 
 	if(!purple_account_get_remember_password(account)) {
 		const gchar *name = NULL;
@@ -574,6 +577,8 @@
 	g_return_if_fail(PURPLE_IS_ACCOUNT(account));
 
 	task = g_task_new(manager, cancellable, callback, data);
+	g_task_set_source_tag(task,
+	                      purple_credential_manager_clear_password_async);
 
 	if(manager->active != NULL) {
 		purple_credential_provider_clear_password_async(manager->active,
@@ -616,4 +621,3 @@
 		func(PURPLE_CREDENTIAL_PROVIDER(value), data);
 	}
 }
-
--- a/libpurple/purplenoopcredentialprovider.c	Sat Feb 10 01:32:36 2024 -0600
+++ b/libpurple/purplenoopcredentialprovider.c	Tue Feb 20 00:40:30 2024 -0600
@@ -40,7 +40,11 @@
                                                     GAsyncReadyCallback callback,
                                                     gpointer data)
 {
-	GTask *task = g_task_new(G_OBJECT(provider), cancellable, callback, data);
+	GTask *task = NULL;
+
+	task = g_task_new(G_OBJECT(provider), cancellable, callback, data);
+	g_task_set_source_tag(task,
+	                      purple_noop_credential_provider_read_password_async);
 
 	g_task_return_new_error(task, PURPLE_CREDENTIAL_MANAGER_DOMAIN, 0,
 	                        _("provider does not store passwords"));
@@ -64,7 +68,11 @@
                                                      GAsyncReadyCallback callback,
                                                      gpointer data)
 {
-	GTask *task = g_task_new(G_OBJECT(provider), cancellable, callback, data);
+	GTask *task = NULL;
+
+	task = g_task_new(G_OBJECT(provider), cancellable, callback, data);
+	g_task_set_source_tag(task,
+	                      purple_noop_credential_provider_write_password_async);
 
 	g_task_return_new_error(task, PURPLE_CREDENTIAL_MANAGER_DOMAIN, 0,
 	                        _("provider does not store passwords"));

mercurial