[prev in list] [next in list] [prev in thread] [next in thread] 

List:       prelude-cvslog
Subject:    [prelude-cvslog] r10569 - libprelude/trunk/src
From:       noreply () prelude-ids ! org
Date:       2008-05-06 15:34:05
Message-ID: 20080506153405.8CCB28A0072 () inferno ! prelude-ids ! com
[Download RAW message or body]

Author: yoann
Date: 2008-05-06 17:34:05 +0200 (Tue, 06 May 2008)
New Revision: 10569

Modified:
   libprelude/trunk/src/prelude-async.c
   libprelude/trunk/src/prelude-thread.c
Log:
Define pthread weak symbols when support. Fix unresolved symbols
on some architecture (fix #287).


Modified: libprelude/trunk/src/prelude-async.c
===================================================================
--- libprelude/trunk/src/prelude-async.c	2008-05-06 15:33:56 UTC (rev 10568)
+++ libprelude/trunk/src/prelude-async.c	2008-05-06 15:34:05 UTC (rev 10569)
@@ -82,7 +82,31 @@
 # endif
 #endif
 
+#ifdef USE_POSIX_THREADS_WEAK
+# pragma weak pthread_create
+# pragma weak pthread_join
+# pragma weak pthread_sigmask
 
+# ifdef HAVE_PTHREAD_ATFORK
+#  pragma weak pthread_atfork
+# endif
+
+# pragma weak pthread_mutex_init
+# pragma weak pthread_mutex_lock
+# pragma weak pthread_mutex_unlock
+# pragma weak pthread_mutex_destroy
+
+# pragma weak pthread_cond_init
+# pragma weak pthread_cond_wait
+# pragma weak pthread_cond_signal
+# pragma weak pthread_cond_timedwait
+# pragma weak pthread_cond_destroy
+
+# pragma weak pthread_condattr_init
+# pragma weak pthread_condattr_setclock
+#endif
+
+
 static PRELUDE_LIST(joblist);
 
 

Modified: libprelude/trunk/src/prelude-thread.c
===================================================================
--- libprelude/trunk/src/prelude-thread.c	2008-05-06 15:33:56 UTC (rev 10568)
+++ libprelude/trunk/src/prelude-thread.c	2008-05-06 15:34:05 UTC (rev 10569)
@@ -42,6 +42,44 @@
 
 #ifdef USE_POSIX_THREADS_WEAK
 
+# pragma weak pthread_create
+# pragma weak pthread_join
+# pragma weak pthread_sigmask
+# pragma weak pthread_once
+# pragma weak pthread_exit
+
+# ifdef HAVE_PTHREAD_ATFORK
+#  pragma weak pthread_atfork
+# endif
+
+# pragma weak pthread_mutex_init
+# pragma weak pthread_mutex_lock
+# pragma weak pthread_mutex_unlock
+# pragma weak pthread_mutex_destroy
+
+# pragma weak pthread_mutexattr_init
+# pragma weak pthread_mutexattr_settype
+# pragma weak pthread_mutexattr_destroy
+
+# pragma weak pthread_cond_init
+# pragma weak pthread_cond_wait
+# pragma weak pthread_cond_signal
+# pragma weak pthread_cond_broadcast
+# pragma weak pthread_cond_timedwait
+# pragma weak pthread_cond_destroy
+
+# pragma weak pthread_condattr_init
+# pragma weak pthread_condattr_setclock
+
+# pragma weak pthread_getspecific
+# pragma weak pthread_setspecific
+
+# pragma weak pthread_key_delete
+
+# ifndef pthread_self
+#  pragma weak pthread_self
+# endif
+
 # if !PTHREAD_IN_USE_DETECTION_HARD
 #  pragma weak pthread_cancel
 #  define __prelude_thread_in_use() (pthread_cancel != NULL)


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic