summaryrefslogtreecommitdiff
path: root/server_main.c
blob: 8dad309041fd077752c08fe7f41fd8085f031000 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include "common.h"
#include <pthread.h>

int main(void)
{
	struct server *server = NULL;
	struct client *client = NULL;
	if (socketpair(AF_LOCAL, SOCK_STREAM, 0, sv) < 0) {
		error(0, errno, "failed to pair socket");
	}

	switch ((pid = fork())) {
	case 0:
		close(sv[0]);
		client = client_create(sv[1]);
		break;
	case -1:
		error(1, errno, "fork");
		break;
	default:
		close(sv[1]);
		server = server_create(sv[0]);
		break;
	}

	if (server)
		server_destroy(server);
	if (client)
		client_destroy(client);

	return 0;
}