| summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'src/server/server.c')
| -rw-r--r-- | src/server/server.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/server/server.c b/src/server/server.c index 2988732..1b17d12 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -1,3 +1,6 @@ +/**** POSIX *******************************************************************/ +#include <string.h> + /**** RELABSD *****************************************************************/ #include <relabsd/config.h> #include <relabsd/debug.h> @@ -16,6 +19,8 @@ static int initialize struct relabsd_server server [const restrict static 1] ) { + int err; + if ( relabsd_physical_device_open @@ -47,6 +52,18 @@ static int initialize return -2; } + err = + pthread_mutex_init(&(server->mutex), (const pthread_mutexattr_t *) NULL); + + if (err != 0) + { + RELABSD_FATAL + ( + "Could not initialize the server's mutex: %s.", + strerror(err) + ); + } + if ( ( @@ -59,7 +76,7 @@ static int initialize relabsd_virtual_device_destroy(&(server->virtual_device)); relabsd_physical_device_close(&(server->physical_device)); - return -3; + return -4; } return 0; @@ -78,6 +95,8 @@ static void finalize (struct relabsd_server server [const static 1]) relabsd_virtual_device_destroy(&(server->virtual_device)); relabsd_physical_device_close(&(server->physical_device)); + + (void) pthread_mutex_destroy(&(server->mutex)); } /******************************************************************************/ |


