| | |
| | | int s, type; |
| | | pthread_mutexattr_t mtxAttr; |
| | | |
| | | // logger->debug("shm_open_socket\n"); |
| | | logger->debug("shm_open_socket\n"); |
| | | shm_socket_t *socket = (shm_socket_t *)calloc(1, sizeof(shm_socket_t)); |
| | | socket->socket_type = socket_type; |
| | | socket->key = -1; |
| | |
| | | |
| | | int ret, s; |
| | | |
| | | // logger->debug("shm_close_socket\n"); |
| | | logger->debug("shm_close_socket\n"); |
| | | switch (socket->socket_type) { |
| | | case SHM_SOCKET_STREAM: |
| | | ret = _shm_close_stream_socket(socket, true); |
| | |
| | | } else { |
| | | delete remoteQueue; |
| | | mm_free(dest.buf); |
| | | if(errno == EAGAIN) { |
| | | if(errno == ETIMEDOUT) { |
| | | bus_errno = EBUS_TIMEOUT; |
| | | logger->error("sendto key %d failed, %s", key, bus_strerror(bus_errno)); |
| | | logger->error(errno, "sendto key %d failed, %s", key, bus_strerror(EBUS_TIMEOUT)); |
| | | return EBUS_TIMEOUT; |
| | | } else { |
| | | logger->error(errno, "sendto key %d failed!", key); |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | int shm_sendandrecv_safe2(shm_socket_t *socket, const void *send_buf, |
| | | // use thread local |
| | | int _shm_sendandrecv_thread_local(shm_socket_t *socket, const void *send_buf, |
| | | const int send_size, const int send_key, void **recv_buf, |
| | | int *recv_size, struct timespec *timeout, int flags) { |
| | | int recv_key; |
| | |
| | | return -1; |
| | | } |
| | | |
| | | int shm_sendandrecv_safe(shm_socket_t *socket, const void *send_buf, |
| | | int _shm_sendandrecv_alloc_new(shm_socket_t *socket, const void *send_buf, |
| | | const int send_size, const int send_key, void **recv_buf, |
| | | int *recv_size, struct timespec *timeout, int flags) { |
| | | int recv_key; |
| | |
| | | int shm_sendandrecv(shm_socket_t *socket, const void *send_buf, |
| | | const int send_size, const int send_key, void **recv_buf, |
| | | int *recv_size, struct timespec *timeout, int flags) { |
| | | return shm_sendandrecv_safe(socket, send_buf, send_size, send_key,recv_buf, recv_size, timeout, flags); |
| | | return shm_sendandrecv_unsafe(socket, send_buf, send_size, send_key,recv_buf, recv_size, timeout, flags); |
| | | } |
| | | |
| | | |