diff options
author | Sreeram Ramachandran <sreeram@google.com> | 2014-05-18 15:18:36 -0700 |
---|---|---|
committer | Sreeram Ramachandran <sreeram@google.com> | 2014-05-18 15:18:36 -0700 |
commit | 72c53933f852be6d1cd6c09c86176fbc6d609dac (patch) | |
tree | ab9422270d7a1ba6e973e7271376bdc6ccc73063 | |
parent | 6c83305c9a0c43eff407f3b4a2ff10ad0be26f01 (diff) | |
download | android_bionic-72c53933f852be6d1cd6c09c86176fbc6d609dac.tar.gz android_bionic-72c53933f852be6d1cd6c09c86176fbc6d609dac.tar.bz2 android_bionic-72c53933f852be6d1cd6c09c86176fbc6d609dac.zip |
Cosmetic changes to netd client files.
+ Name the dispatch header correctly (NetdClientDispatch.h).
+ Hide the global dispatch variable (__netdClientDispatch).
+ Explain why it's okay to read the variable without locking.
+ Use quotes instead of angle-brackets for non-system includes.
+ Add necessary declarations for C compiles (and not just C++).
Change-Id: Id0932165e71d81da5fce77a684f40c2263f58e61
-rw-r--r-- | libc/bionic/NetdClient.cpp | 6 | ||||
-rw-r--r-- | libc/bionic/NetdClientDispatch.cpp | 6 | ||||
-rw-r--r-- | libc/bionic/accept.cpp | 3 | ||||
-rw-r--r-- | libc/bionic/connect.cpp | 3 | ||||
-rw-r--r-- | libc/private/NetdClientDispatch.h (renamed from libc/private/NetdClient.h) | 17 |
5 files changed, 22 insertions, 13 deletions
diff --git a/libc/bionic/NetdClient.cpp b/libc/bionic/NetdClient.cpp index 72d90b7bb..75e84ee66 100644 --- a/libc/bionic/NetdClient.cpp +++ b/libc/bionic/NetdClient.cpp @@ -18,11 +18,11 @@ #error NetdClient.cpp should NOT be included in static libc builds. #endif -#include <private/NetdClient.h> -#include <private/libc_logging.h> -#include <pthread.h> +#include "private/libc_logging.h" +#include "private/NetdClientDispatch.h" #include <dlfcn.h> +#include <pthread.h> template <typename FunctionType> static void netdClientInitFunction(void* handle, const char* symbol, FunctionType* function) { diff --git a/libc/bionic/NetdClientDispatch.cpp b/libc/bionic/NetdClientDispatch.cpp index adfe16d7f..6bd2357fa 100644 --- a/libc/bionic/NetdClientDispatch.cpp +++ b/libc/bionic/NetdClientDispatch.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#include <private/NetdClient.h> +#include "private/NetdClientDispatch.h" #ifdef __i386__ #define __socketcall __attribute__((__cdecl__)) @@ -25,7 +25,9 @@ extern "C" __socketcall int __accept(int, sockaddr*, socklen_t*); extern "C" __socketcall int __connect(int, const sockaddr*, socklen_t); -NetdClientDispatch __netdClientDispatch __attribute__((aligned(32))) = { +// This structure is modified only at startup (when libc.so is loaded) and never +// afterwards, so it's okay that it's read later at runtime without a lock. +__LIBC_HIDDEN__ NetdClientDispatch __netdClientDispatch __attribute__((aligned(32))) = { __accept, __connect, }; diff --git a/libc/bionic/accept.cpp b/libc/bionic/accept.cpp index 46b4efc65..807323463 100644 --- a/libc/bionic/accept.cpp +++ b/libc/bionic/accept.cpp @@ -14,7 +14,8 @@ * limitations under the License. */ -#include <private/NetdClient.h> +#include "private/NetdClientDispatch.h" + #include <sys/socket.h> int accept(int sockfd, sockaddr* addr, socklen_t* addrlen) { diff --git a/libc/bionic/connect.cpp b/libc/bionic/connect.cpp index c5db46b89..1673f4afe 100644 --- a/libc/bionic/connect.cpp +++ b/libc/bionic/connect.cpp @@ -14,7 +14,8 @@ * limitations under the License. */ -#include <private/NetdClient.h> +#include "private/NetdClientDispatch.h" + #include <sys/socket.h> int connect(int sockfd, const sockaddr* addr, socklen_t addrlen) { diff --git a/libc/private/NetdClient.h b/libc/private/NetdClientDispatch.h index b2ce7a664..0390bfb05 100644 --- a/libc/private/NetdClient.h +++ b/libc/private/NetdClientDispatch.h @@ -14,16 +14,21 @@ * limitations under the License. */ -#ifndef PRIVATE_NETD_CLIENT_H -#define PRIVATE_NETD_CLIENT_H +#ifndef PRIVATE_NETD_CLIENT_DISPATCH_H +#define PRIVATE_NETD_CLIENT_DISPATCH_H +#include <sys/cdefs.h> #include <sys/socket.h> +__BEGIN_DECLS + struct NetdClientDispatch { - int (*accept)(int, sockaddr*, socklen_t*); - int (*connect)(int, const sockaddr*, socklen_t); + int (*accept)(int, struct sockaddr*, socklen_t*); + int (*connect)(int, const struct sockaddr*, socklen_t); }; -extern NetdClientDispatch __netdClientDispatch; +extern __LIBC_HIDDEN__ struct NetdClientDispatch __netdClientDispatch; + +__END_DECLS -#endif // PRIVATE_NETD_CLIENT_H +#endif // PRIVATE_NETD_CLIENT_DISPATCH_H |