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
diff --git a/libc/bionic/NetdClient.cpp b/libc/bionic/NetdClient.cpp
index 72d90b7..75e84ee 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 adfe16d..6bd2357 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 46b4efc..8073234 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 c5db46b..1673f4a 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) {