--- src/lib/howl/MacOSX/macosx_salt.c.orig Wed Mar 30 17:27:46 2005
+++ src/lib/howl/MacOSX/macosx_salt.c Wed Mar 30 17:27:56 2005
@@ -66,6 +66,7 @@
char ** argv)
{
sw_result err = SW_OKAY;
+ pthread_mutexattr_t attrs;
*salt = (sw_salt) sw_malloc(sizeof(struct _sw_salt));
err = sw_translate_error(*salt, SW_E_MEM);
@@ -76,6 +77,8 @@
(*salt)->m_sockets.m_prev = NULL;
(*salt)->m_step = SW_FALSE;
+ pthread_mutexattr_settype(&attrs, PTHREAD_MUTEX_RECURSIVE);
+ pthread_mutex_init(&(*salt)->m_mutex, &attrs);
signal(SIGPIPE, SIG_IGN);
exit:
@@ -178,6 +181,24 @@
}
return SW_OKAY;
+}
+
+
+sw_result
+sw_salt_lock(
+ sw_salt self)
+{
+ sw_assert(self);
+ pthread_mutex_lock(&self->m_mutex);
+}
+
+
+sw_result
+sw_salt_unlock(
+ sw_salt self)
+{
+ sw_assert(self);
+ pthread_mutex_unlock(&self->m_mutex);
}