| 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."); +} |


