[maemo-commits] [maemo-commits] r12751 - projects/haf/trunk/libosso/src

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Tue Jul 17 10:02:10 EEST 2007
Author: kihamala
Date: 2007-07-17 10:02:05 +0300 (Tue, 17 Jul 2007)
New Revision: 12751

Modified:
   projects/haf/trunk/libosso/src/osso-hw.c
   projects/haf/trunk/libosso/src/osso-init.c
Log:
fix to thread code


Modified: projects/haf/trunk/libosso/src/osso-hw.c
===================================================================
--- projects/haf/trunk/libosso/src/osso-hw.c	2007-07-16 14:39:56 UTC (rev 12750)
+++ projects/haf/trunk/libosso/src/osso-hw.c	2007-07-17 07:02:05 UTC (rev 12751)
@@ -200,6 +200,7 @@
                 dbus_error_free(&error);
                 return OSSO_ERROR;
             }
+            pthread_mutex_unlock(&osso->mutex);
             _msg_handler_set_cb_f(osso, USER_LOWMEM_OFF_SIGNAL_SVC,
                                   USER_LOWMEM_OFF_SIGNAL_OP,
                                   USER_LOWMEM_OFF_SIGNAL_IF,
@@ -208,6 +209,10 @@
                                   USER_LOWMEM_ON_SIGNAL_OP,
                                   USER_LOWMEM_ON_SIGNAL_IF,
                                   lowmem_signal_handler, NULL, FALSE);
+            if (pthread_mutex_lock(&osso->mutex) == EDEADLK) {
+                ULOG_ERR_F("mutex deadlock detected");
+                return OSSO_ERROR;
+            }
         }
         osso->hw_cbs.memory_low_ind.set = TRUE;
 

Modified: projects/haf/trunk/libosso/src/osso-init.c
===================================================================
--- projects/haf/trunk/libosso/src/osso-init.c	2007-07-16 14:39:56 UTC (rev 12750)
+++ projects/haf/trunk/libosso/src/osso-init.c	2007-07-17 07:02:05 UTC (rev 12751)
@@ -650,8 +650,10 @@
                 ULOG_DEBUG_F("before calling the handler");
                 ULOG_DEBUG_F(" handler = %p", handler->handler);
                 ULOG_DEBUG_F(" data = %p", handler->data);
+
                 (*handler->handler)(osso, msg, handler->data, 0);
                 ULOG_DEBUG_F("after calling the handler");
+
 #ifdef OSSOLOG_COMPILE
                 found = TRUE;
 #endif


More information about the maemo-commits mailing list