| | |
| | | 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; |
| | | socket->key = 0; |
| | | socket->force_bind = false; |
| | | socket->dispatch_thread = 0; |
| | | socket->status = SHM_CONN_CLOSED; |
| | |
| | | |
| | | int key; |
| | | hashtable_t *hashtable = mm_get_hashtable(); |
| | | if (socket->key == -1) { |
| | | if (socket->key == 0) { |
| | | key = hashtable_alloc_key(hashtable); |
| | | socket->key = key; |
| | | } else { |
| | |
| | | return -1; |
| | | } |
| | | |
| | | if (socket->key == -1) { |
| | | if (socket->key == 0) { |
| | | socket->key = hashtable_alloc_key(hashtable); |
| | | } else { |
| | | if(!_shm_socket_check_key(socket)) { |
| | |
| | | err_exit(s, "shm_sendto : pthread_mutex_lock"); |
| | | |
| | | if (socket->queue == NULL) { |
| | | if (socket->key == -1) { |
| | | if (socket->key == 0) { |
| | | socket->key = hashtable_alloc_key(hashtable); |
| | | } else { |
| | | |
| | |
| | | err_exit(s, "shm_recvfrom : pthread_mutex_lock"); |
| | | |
| | | if (socket->queue == NULL) { |
| | | if (socket->key == -1) { |
| | | if (socket->key == 0) { |
| | | socket->key = hashtable_alloc_key(hashtable); |
| | | } else { |
| | | |