X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Funix.c;h=9918db2e683e18f9e880e1025779057bb1289456;hb=3afa94aeca5a0daae40fd7b6cc96b7e4c150c7d8;hp=4c5c7acc61a260b10162d83089b7373c8c18d297;hpb=9bc1a4b4f0dc0dab6be2ea56d0cbdf4d703865f5;p=lttng-tools.git diff --git a/src/common/unix.c b/src/common/unix.c index 4c5c7acc6..9918db2e6 100644 --- a/src/common/unix.c +++ b/src/common/unix.c @@ -7,7 +7,6 @@ */ #define _LGPL_SOURCE -#include #include #include #include @@ -26,7 +25,6 @@ /* * Connect to unix socket using the path name. */ -LTTNG_HIDDEN int lttcomm_connect_unix_sock(const char *pathname) { struct sockaddr_un s_un; @@ -76,7 +74,6 @@ error: * Do an accept(2) on the sock and return the new file descriptor. The socket * MUST be bind(2) before. */ -LTTNG_HIDDEN int lttcomm_accept_unix_sock(int sock) { int new_fd; @@ -92,7 +89,6 @@ int lttcomm_accept_unix_sock(int sock) return new_fd; } -LTTNG_HIDDEN int lttcomm_create_anon_unix_socketpair(int *fds) { if (socketpair(PF_UNIX, SOCK_STREAM, 0, fds) < 0) { @@ -106,7 +102,6 @@ int lttcomm_create_anon_unix_socketpair(int *fds) * Creates a AF_UNIX local socket using pathname bind the socket upon creation * and return the fd. */ -LTTNG_HIDDEN int lttcomm_create_unix_sock(const char *pathname) { struct sockaddr_un s_un; @@ -154,7 +149,6 @@ error: /* * Make the socket listen using LTTNG_SESSIOND_COMM_MAX_LISTEN. */ -LTTNG_HIDDEN int lttcomm_listen_unix_sock(int sock) { int ret; @@ -173,7 +167,6 @@ int lttcomm_listen_unix_sock(int sock) * * Return the size of received data. */ -LTTNG_HIDDEN ssize_t lttcomm_recv_unix_sock(int sock, void *buf, size_t len) { struct msghdr msg; @@ -181,9 +174,9 @@ ssize_t lttcomm_recv_unix_sock(int sock, void *buf, size_t len) ssize_t ret = -1; size_t len_last; - assert(sock); - assert(buf); - assert(len > 0); + LTTNG_ASSERT(sock); + LTTNG_ASSERT(buf); + LTTNG_ASSERT(len > 0); memset(&msg, 0, sizeof(msg)); @@ -198,7 +191,7 @@ ssize_t lttcomm_recv_unix_sock(int sock, void *buf, size_t len) if (ret > 0) { iov[0].iov_base += ret; iov[0].iov_len -= ret; - assert(ret <= len_last); + LTTNG_ASSERT(ret <= len_last); } } while ((ret > 0 && ret < len_last) || (ret < 0 && errno == EINTR)); if (ret < 0) { @@ -220,16 +213,15 @@ ssize_t lttcomm_recv_unix_sock(int sock, void *buf, size_t len) * * Return the size of received data. */ -LTTNG_HIDDEN ssize_t lttcomm_recv_unix_sock_non_block(int sock, void *buf, size_t len) { struct msghdr msg; struct iovec iov[1]; ssize_t ret; - assert(sock); - assert(buf); - assert(len > 0); + LTTNG_ASSERT(sock); + LTTNG_ASSERT(buf); + LTTNG_ASSERT(len > 0); memset(&msg, 0, sizeof(msg)); @@ -272,16 +264,15 @@ end: * * Return the size of sent data. */ -LTTNG_HIDDEN ssize_t lttcomm_send_unix_sock(int sock, const void *buf, size_t len) { struct msghdr msg; struct iovec iov[1]; ssize_t ret; - assert(sock); - assert(buf); - assert(len > 0); + LTTNG_ASSERT(sock); + LTTNG_ASSERT(buf); + LTTNG_ASSERT(len > 0); memset(&msg, 0, sizeof(msg)); @@ -326,16 +317,15 @@ end: * * Return the size of sent data. */ -LTTNG_HIDDEN ssize_t lttcomm_send_unix_sock_non_block(int sock, const void *buf, size_t len) { struct msghdr msg; struct iovec iov[1]; ssize_t ret; - assert(sock); - assert(buf); - assert(len > 0); + LTTNG_ASSERT(sock); + LTTNG_ASSERT(buf); + LTTNG_ASSERT(len > 0); memset(&msg, 0, sizeof(msg)); @@ -376,7 +366,6 @@ end: /* * Shutdown cleanly a unix socket. */ -LTTNG_HIDDEN int lttcomm_close_unix_sock(int sock) { int ret, closeret; @@ -400,7 +389,6 @@ int lttcomm_close_unix_sock(int sock) * * Returns the size of data sent, or negative error value. */ -LTTNG_HIDDEN ssize_t lttcomm_send_fds_unix_sock(int sock, const int *fds, size_t nb_fd) { struct msghdr msg; @@ -411,9 +399,9 @@ ssize_t lttcomm_send_fds_unix_sock(int sock, const int *fds, size_t nb_fd) char tmp[CMSG_SPACE(sizeof_fds)]; char dummy = 0; - assert(sock); - assert(fds); - assert(nb_fd > 0); + LTTNG_ASSERT(sock); + LTTNG_ASSERT(fds); + LTTNG_ASSERT(nb_fd > 0); memset(&msg, 0, sizeof(msg)); memset(tmp, 0, sizeof(tmp)); @@ -514,14 +502,12 @@ end: return ret; } -LTTNG_HIDDEN ssize_t lttcomm_send_payload_view_fds_unix_sock(int sock, struct lttng_payload_view *view) { return _lttcomm_send_payload_view_fds_unix_sock(sock, view, true); } -LTTNG_HIDDEN ssize_t lttcomm_send_payload_view_fds_unix_sock_non_block(int sock, struct lttng_payload_view *view) { @@ -534,7 +520,6 @@ ssize_t lttcomm_send_payload_view_fds_unix_sock_non_block(int sock, * * Returns the size of data sent, or negative error value. */ -LTTNG_HIDDEN ssize_t lttcomm_send_fds_unix_sock_non_block(int sock, const int *fds, size_t nb_fd) { struct msghdr msg; @@ -545,9 +530,9 @@ ssize_t lttcomm_send_fds_unix_sock_non_block(int sock, const int *fds, size_t nb char tmp[CMSG_SPACE(sizeof_fds)]; char dummy = 0; - assert(sock); - assert(fds); - assert(nb_fd > 0); + LTTNG_ASSERT(sock); + LTTNG_ASSERT(fds); + LTTNG_ASSERT(nb_fd > 0); memset(&msg, 0, sizeof(msg)); memset(tmp, 0, sizeof(tmp)); @@ -619,7 +604,6 @@ end: * Expect at most "nb_fd" file descriptors. Returns the number of fd * actually received in nb_fd. */ -LTTNG_HIDDEN ssize_t lttcomm_recv_fds_unix_sock(int sock, int *fds, size_t nb_fd) { struct iovec iov[1]; @@ -638,9 +622,9 @@ ssize_t lttcomm_recv_fds_unix_sock(int sock, int *fds, size_t nb_fd) struct msghdr msg; char dummy; - assert(sock); - assert(fds); - assert(nb_fd > 0); + LTTNG_ASSERT(sock); + LTTNG_ASSERT(fds); + LTTNG_ASSERT(nb_fd > 0); memset(&msg, 0, sizeof(msg)); @@ -758,7 +742,7 @@ enum lttng_error_code add_fds_to_payload(struct lttng_dynamic_array *raw_fds, int *raw_fd = (int *) lttng_dynamic_array_get_element( raw_fds, i); - assert(*raw_fd != -1); + LTTNG_ASSERT(*raw_fd != -1); handle = fd_handle_create(*raw_fd); if (!handle) { @@ -791,9 +775,9 @@ ssize_t _lttcomm_recv_payload_fds_unix_sock(int sock, size_t nb_fd, int default_value = -1; struct lttng_dynamic_array raw_fds; - assert(sock); - assert(payload); - assert(nb_fd > 0); + LTTNG_ASSERT(sock); + LTTNG_ASSERT(payload); + LTTNG_ASSERT(nb_fd > 0); lttng_dynamic_array_init(&raw_fds, sizeof(int), close_raw_fd); @@ -827,14 +811,12 @@ end: return ret; } -LTTNG_HIDDEN ssize_t lttcomm_recv_payload_fds_unix_sock(int sock, size_t nb_fd, struct lttng_payload *payload) { return _lttcomm_recv_payload_fds_unix_sock(sock, nb_fd, payload, true); } -LTTNG_HIDDEN ssize_t lttcomm_recv_payload_fds_unix_sock_non_block(int sock, size_t nb_fd, struct lttng_payload *payload) { @@ -853,7 +835,6 @@ ssize_t lttcomm_recv_payload_fds_unix_sock_non_block(int sock, size_t nb_fd, * possible since the FDs are actually in the control message. It is all or * nothing, still the sender side can send the wrong number of fds. */ -LTTNG_HIDDEN ssize_t lttcomm_recv_fds_unix_sock_non_block(int sock, int *fds, size_t nb_fd) { struct iovec iov[1]; @@ -861,9 +842,9 @@ ssize_t lttcomm_recv_fds_unix_sock_non_block(int sock, int *fds, size_t nb_fd) struct cmsghdr *cmsg; size_t sizeof_fds = nb_fd * sizeof(int); - assert(sock); - assert(fds); - assert(nb_fd > 0); + LTTNG_ASSERT(sock); + LTTNG_ASSERT(fds); + LTTNG_ASSERT(nb_fd > 0); #ifdef __linux__ /* Account for the struct ucred cmsg in the buffer size */ @@ -986,7 +967,6 @@ end: * * Returns the size of data sent, or negative error value. */ -LTTNG_HIDDEN ssize_t lttcomm_send_creds_unix_sock(int sock, const void *buf, size_t len) { struct msghdr msg; @@ -1003,9 +983,9 @@ ssize_t lttcomm_send_creds_unix_sock(int sock, const void *buf, size_t len) memset(&msg, 0, sizeof(msg)); - assert(sock); - assert(buf); - assert(len > 0); + LTTNG_ASSERT(sock); + LTTNG_ASSERT(buf); + LTTNG_ASSERT(len > 0); iov[0].iov_base = (void *) buf; iov[0].iov_len = len; @@ -1051,7 +1031,6 @@ ssize_t lttcomm_send_creds_unix_sock(int sock, const void *buf, size_t len) * * Returns the size of received data, or negative error value. */ -LTTNG_HIDDEN ssize_t lttcomm_recv_creds_unix_sock(int sock, void *buf, size_t len, lttng_sock_cred *creds) { @@ -1065,10 +1044,10 @@ ssize_t lttcomm_recv_creds_unix_sock(int sock, void *buf, size_t len, char anc_buf[CMSG_SPACE(sizeof_cred)]; #endif /* __linux__, __CYGWIN__ */ - assert(sock); - assert(buf); - assert(len > 0); - assert(creds); + LTTNG_ASSERT(sock); + LTTNG_ASSERT(buf); + LTTNG_ASSERT(len > 0); + LTTNG_ASSERT(creds); memset(&msg, 0, sizeof(msg)); @@ -1089,7 +1068,7 @@ ssize_t lttcomm_recv_creds_unix_sock(int sock, void *buf, size_t len, if (ret > 0) { iov[0].iov_base += ret; iov[0].iov_len -= ret; - assert(ret <= len_last); + LTTNG_ASSERT(ret <= len_last); } } while ((ret > 0 && ret < len_last) || (ret < 0 && errno == EINTR)); if (ret < 0) { @@ -1147,7 +1126,6 @@ end: * Set socket option to use credentials passing. */ #if defined(__linux__) || defined(__CYGWIN__) -LTTNG_HIDDEN int lttcomm_setsockopt_creds_unix_sock(int sock) { int ret, on = 1; @@ -1160,7 +1138,6 @@ int lttcomm_setsockopt_creds_unix_sock(int sock) return ret; } #elif (defined(__FreeBSD__) || defined(__sun__) || defined(__APPLE__)) -LTTNG_HIDDEN int lttcomm_setsockopt_creds_unix_sock(int sock) { return 0;