Re: [PATCH V2] inet:rpc: fix build in !NPTL case

2012-03-26 Thread Carmelo AMOROSO
On 14/03/2012 15.56, Carmelo AMOROSO wrote:
 __libc_once is not available / needed when multithreading support
 is not enabled, so authnone_create() calls authnone_create_once()
 directly.
 When LT.{old,new} is used instead of NPTL, it needs to explicitly
 include bits/libc-lock.h to get __libc_once to be visible.
 
 Signed-off-by: Carmelo Amoroso carmelo.amor...@st.com
 ---
  libc/inet/rpc/auth_none.c   |6 ++
  libc/inet/rpc/rpc_private.h |1 +
  2 files changed, 7 insertions(+), 0 deletions(-)
 
 diff --git a/libc/inet/rpc/auth_none.c b/libc/inet/rpc/auth_none.c
 index d066f6b..70bee5b 100644
 --- a/libc/inet/rpc/auth_none.c
 +++ b/libc/inet/rpc/auth_none.c
 @@ -68,7 +68,9 @@ struct authnone_private_s {
  };
  
  static struct authnone_private_s authnone_private;
 +#ifdef __UCLIBC_HAS_THREADS__
  __libc_once_define(static, authnone_private_guard);
 +#endif
  
  static void authnone_create_once (void);
  
 @@ -95,7 +97,11 @@ authnone_create_once (void)
  AUTH *
  authnone_create (void)
  {
 +#ifdef __UCLIBC_HAS_THREADS__
__libc_once (authnone_private_guard, authnone_create_once);
 +#else
 +  authnone_create_once();
 +#endif
return authnone_private.no_client;
  }
  libc_hidden_def(authnone_create)
 diff --git a/libc/inet/rpc/rpc_private.h b/libc/inet/rpc/rpc_private.h
 index e1214d2..38ade1c 100644
 --- a/libc/inet/rpc/rpc_private.h
 +++ b/libc/inet/rpc/rpc_private.h
 @@ -12,6 +12,7 @@ extern u_long _create_xid (void) attribute_hidden;
   */
  #ifdef __UCLIBC_HAS_THREADS__
  #include pthread.h
 +#include bits/libc-lock.h
  struct rpc_thread_variables {
   fd_set  svc_fdset_s;/* Global, rpc_common.c */
   struct rpc_createerr rpc_createerr_s;   /* Global, rpc_common.c */

Applied.

Carmelo

___
uClibc mailing list
uClibc@uclibc.org
http://lists.busybox.net/mailman/listinfo/uclibc


[PATCH V2] inet:rpc: fix build in !NPTL case

2012-03-14 Thread Carmelo AMOROSO
__libc_once is not available / needed when multithreading support
is not enabled, so authnone_create() calls authnone_create_once()
directly.
When LT.{old,new} is used instead of NPTL, it needs to explicitly
include bits/libc-lock.h to get __libc_once to be visible.

Signed-off-by: Carmelo Amoroso carmelo.amor...@st.com
---
 libc/inet/rpc/auth_none.c   |6 ++
 libc/inet/rpc/rpc_private.h |1 +
 2 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/libc/inet/rpc/auth_none.c b/libc/inet/rpc/auth_none.c
index d066f6b..70bee5b 100644
--- a/libc/inet/rpc/auth_none.c
+++ b/libc/inet/rpc/auth_none.c
@@ -68,7 +68,9 @@ struct authnone_private_s {
 };
 
 static struct authnone_private_s authnone_private;
+#ifdef __UCLIBC_HAS_THREADS__
 __libc_once_define(static, authnone_private_guard);
+#endif
 
 static void authnone_create_once (void);
 
@@ -95,7 +97,11 @@ authnone_create_once (void)
 AUTH *
 authnone_create (void)
 {
+#ifdef __UCLIBC_HAS_THREADS__
   __libc_once (authnone_private_guard, authnone_create_once);
+#else
+  authnone_create_once();
+#endif
   return authnone_private.no_client;
 }
 libc_hidden_def(authnone_create)
diff --git a/libc/inet/rpc/rpc_private.h b/libc/inet/rpc/rpc_private.h
index e1214d2..38ade1c 100644
--- a/libc/inet/rpc/rpc_private.h
+++ b/libc/inet/rpc/rpc_private.h
@@ -12,6 +12,7 @@ extern u_long _create_xid (void) attribute_hidden;
  */
 #ifdef __UCLIBC_HAS_THREADS__
 #include pthread.h
+#include bits/libc-lock.h
 struct rpc_thread_variables {
fd_set  svc_fdset_s;/* Global, rpc_common.c */
struct rpc_createerr rpc_createerr_s;   /* Global, rpc_common.c */
-- 
1.7.4.4

___
uClibc mailing list
uClibc@uclibc.org
http://lists.busybox.net/mailman/listinfo/uclibc