All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] mmsd: fix problems when unregistering msg
@ 2012-03-22 16:37 Ronald Tessier
  2012-03-22 16:37 ` [PATCH 1/2] service: fix object path " Ronald Tessier
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Ronald Tessier @ 2012-03-22 16:37 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 767 bytes --]

Please find changes in mmsd in order to fix problems that occurred when
unregistering messages.

1) the messages table contains mms_message object and not uuid, now
every message is unregister with its correct path when the messages
table is destroyed. Furthermore, don't need to remove the message from
the table using g_hash_table_foreach_remove() since
mms_message_unregister() already removed it from the table.

2) use the msg_path (within the debug statement) before removing the
message from the table which free it

Ronald Tessier (2):
  service: fix object path when unregistering msg
  service: free the msg after tracing its path

 src/service.c |   16 ++++++----------
 1 files changed, 6 insertions(+), 10 deletions(-)

--
1.7.4.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/2] service: fix object path when unregistering msg
  2012-03-22 16:37 [PATCH 0/2] mmsd: fix problems when unregistering msg Ronald Tessier
@ 2012-03-22 16:37 ` Ronald Tessier
  2012-03-22 16:37 ` [PATCH 2/2] service: free the msg after tracing its path Ronald Tessier
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Ronald Tessier @ 2012-03-22 16:37 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 1514 bytes --]

The 'value' parameter is an mms_message pointer and not a pointer to
the uuid.
Don't need to remove message from the hash table (with
g_hash_table_foreach_remove) since calling mms_message_unregister()
on every messages will remove them from the hash table.
---
 src/service.c |   12 ++++--------
 1 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/src/service.c b/src/service.c
index ef6b544..fc69e0d 100644
--- a/src/service.c
+++ b/src/service.c
@@ -875,15 +875,12 @@ struct mms_service *mms_service_ref(struct mms_service *service)
 	return service;
 }
 
-static gboolean unregister_message(gpointer key, gpointer value,
-							gpointer user_data)
+static void unregister_message(gpointer key, gpointer value, gpointer user_data)
 {
 	struct mms_service *service = user_data;
-	char *uuid = value;
+	struct mms_message *msg = value;
 
-	mms_message_unregister(service, uuid);
-
-	return TRUE;
+	mms_message_unregister(service, msg->path);
 }
 
 static void destroy_message_table(struct mms_service *service)
@@ -897,8 +894,7 @@ static void destroy_message_table(struct mms_service *service)
 	 * This step is required because we need access to mms_service when
 	 * unregistering the message object.
 	 */
-	g_hash_table_foreach_remove(service->messages, unregister_message,
-								service);
+	g_hash_table_foreach(service->messages, unregister_message, service);
 
 	g_hash_table_destroy(service->messages);
 	service->messages = NULL;
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/2] service: free the msg after tracing its path
  2012-03-22 16:37 [PATCH 0/2] mmsd: fix problems when unregistering msg Ronald Tessier
  2012-03-22 16:37 ` [PATCH 1/2] service: fix object path " Ronald Tessier
@ 2012-03-22 16:37 ` Ronald Tessier
  2012-03-22 16:37 ` [PATCH 0/1] mmsd service Ronald Tessier
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Ronald Tessier @ 2012-03-22 16:37 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 593 bytes --]

Move debug statement before freeing the message so the message path is
reliable
---
 src/service.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/service.c b/src/service.c
index fc69e0d..4ad9d39 100644
--- a/src/service.c
+++ b/src/service.c
@@ -1607,10 +1607,10 @@ int mms_message_unregister(const struct mms_service *service,
 		return -EIO;
 	}
 
-	g_hash_table_remove(service->messages, msg_path);
-
 	DBG("message unregistered %s", msg_path);
 
+	g_hash_table_remove(service->messages, msg_path);
+
 	return 0;
 }
 
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 0/1] mmsd service
  2012-03-22 16:37 [PATCH 0/2] mmsd: fix problems when unregistering msg Ronald Tessier
  2012-03-22 16:37 ` [PATCH 1/2] service: fix object path " Ronald Tessier
  2012-03-22 16:37 ` [PATCH 2/2] service: free the msg after tracing its path Ronald Tessier
@ 2012-03-22 16:37 ` Ronald Tessier
  2012-03-22 16:37 ` [PATCH 1/1] service: remove unused mms_request's members Ronald Tessier
  2012-03-22 20:23 ` [PATCH 0/2] mmsd: fix problems when unregistering msg Marcel Holtmann
  4 siblings, 0 replies; 8+ messages in thread
From: Ronald Tessier @ 2012-03-22 16:37 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 194 bytes --]

This patch concerns mmsd.

Ronald Tessier (1):
  service: remove unused mms_request's members

 src/service.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

--
1.7.4.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/1] service: remove unused mms_request's members
  2012-03-22 16:37 [PATCH 0/2] mmsd: fix problems when unregistering msg Ronald Tessier
                   ` (2 preceding siblings ...)
  2012-03-22 16:37 ` [PATCH 0/1] mmsd service Ronald Tessier
@ 2012-03-22 16:37 ` Ronald Tessier
  2012-03-22 20:24   ` Marcel Holtmann
  2012-03-22 20:23 ` [PATCH 0/2] mmsd: fix problems when unregistering msg Marcel Holtmann
  4 siblings, 1 reply; 8+ messages in thread
From: Ronald Tessier @ 2012-03-22 16:37 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 412 bytes --]

---
 src/service.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/src/service.c b/src/service.c
index 4ad9d39..14b5284 100644
--- a/src/service.c
+++ b/src/service.c
@@ -96,8 +96,6 @@ struct mms_request {
 	char *data_path;
 	char *location;
 	gsize data_size;
-	gpointer data;
-	gsize offset;
 	int fd;
 	guint16 status;
 	struct mms_service *service;
--
1.7.4.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 0/2] mmsd: fix problems when unregistering msg
  2012-03-22 16:37 [PATCH 0/2] mmsd: fix problems when unregistering msg Ronald Tessier
                   ` (3 preceding siblings ...)
  2012-03-22 16:37 ` [PATCH 1/1] service: remove unused mms_request's members Ronald Tessier
@ 2012-03-22 20:23 ` Marcel Holtmann
  4 siblings, 0 replies; 8+ messages in thread
From: Marcel Holtmann @ 2012-03-22 20:23 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 630 bytes --]

Hi Ronald,

> Please find changes in mmsd in order to fix problems that occurred when
> unregistering messages.
> 
> 1) the messages table contains mms_message object and not uuid, now
> every message is unregister with its correct path when the messages
> table is destroyed. Furthermore, don't need to remove the message from
> the table using g_hash_table_foreach_remove() since
> mms_message_unregister() already removed it from the table.
> 
> 2) use the msg_path (within the debug statement) before removing the
> message from the table which free it

both patches have been applied.

Regards

Marcel



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/1] service: remove unused mms_request's members
  2012-03-22 16:37 ` [PATCH 1/1] service: remove unused mms_request's members Ronald Tessier
@ 2012-03-22 20:24   ` Marcel Holtmann
  0 siblings, 0 replies; 8+ messages in thread
From: Marcel Holtmann @ 2012-03-22 20:24 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 147 bytes --]

Hi Ronald,

>  src/service.c |    2 --
>  1 files changed, 0 insertions(+), 2 deletions(-)

patch has been applied.

Regards

Marcel



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/1] service: remove unused mms_request's members
  2012-03-14 10:45 Ronald Tessier
@ 2012-03-14 10:46 ` Ronald Tessier
  0 siblings, 0 replies; 8+ messages in thread
From: Ronald Tessier @ 2012-03-14 10:46 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 412 bytes --]

---
 src/service.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/src/service.c b/src/service.c
index 4ad9d39..14b5284 100644
--- a/src/service.c
+++ b/src/service.c
@@ -96,8 +96,6 @@ struct mms_request {
 	char *data_path;
 	char *location;
 	gsize data_size;
-	gpointer data;
-	gsize offset;
 	int fd;
 	guint16 status;
 	struct mms_service *service;
--
1.7.4.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2012-03-22 20:24 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-22 16:37 [PATCH 0/2] mmsd: fix problems when unregistering msg Ronald Tessier
2012-03-22 16:37 ` [PATCH 1/2] service: fix object path " Ronald Tessier
2012-03-22 16:37 ` [PATCH 2/2] service: free the msg after tracing its path Ronald Tessier
2012-03-22 16:37 ` [PATCH 0/1] mmsd service Ronald Tessier
2012-03-22 16:37 ` [PATCH 1/1] service: remove unused mms_request's members Ronald Tessier
2012-03-22 20:24   ` Marcel Holtmann
2012-03-22 20:23 ` [PATCH 0/2] mmsd: fix problems when unregistering msg Marcel Holtmann
  -- strict thread matches above, loose matches on Subject: below --
2012-03-14 10:45 Ronald Tessier
2012-03-14 10:46 ` [PATCH 1/1] service: remove unused mms_request's members Ronald Tessier

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.