| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src/server/communication_node.c')
| -rw-r--r-- | src/server/communication_node.c | 33 | 
1 files changed, 33 insertions, 0 deletions
| diff --git a/src/server/communication_node.c b/src/server/communication_node.c index c621f06..46b5f08 100644 --- a/src/server/communication_node.c +++ b/src/server/communication_node.c @@ -164,3 +164,36 @@ int relabsd_server_create_communication_node     return 0;  } + +void relabsd_server_destroy_communication_node +( +   const char socket_name [const restrict static 1], +   const int socket +) +{ +   errno = 0; + +   if (close(socket) == -1) +   { +      RELABSD_WARNING +      ( +         "Could not properly close the communication socket: %s.", +         strerror(errno) +      ); +   } + +   errno = 0; + +   if (remove(socket_name) == -1) +   { +      RELABSD_ERROR +      ( +         "Could not remove communication node %s. Please delete it manually." +         " Error: %s.", +         socket_name, +         strerror(errno) +      ); +   } + +   RELABSD_S_DEBUG(RELABSD_DEBUG_PROGRAM_FLOW, "Destroyed communication node."); +} | 


