root/init.c

Revision 2e3212ee6039755ad0071edde541e432086c0216, 0.7 kB (checked in by D.J. Capelis <dev@…>, 23 months ago)

Use SO_REUSEADDR

  • Property mode set to 100644
Line 
1#include"main.h"
2
3int mainsock;
4
5int init_config()
6{
7    config_do();
8    return 0;
9}
10
11int init_services()
12{
13    SSL_load_error_strings();
14    SSL_library_init();
15    return 0;
16}
17
18int init_net()
19{
20    int err;
21    int sockopt = 1;
22    struct sockaddr_in6 sadd;
23
24    mainsock = socket(PF_INET6, SOCK_STREAM, 0);
25    error(mainsock); //ERR
26    setsockopt(mainsock, SOL_SOCKET, SO_REUSEADDR, (void *) &sockopt, sizeof (int));
27
28    sadd.sin6_family=AF_INET6;
29    sadd.sin6_port=htons(port_number);
30    sadd.sin6_addr=in6addr_any;
31    err = bind(mainsock,(struct sockaddr*) &sadd,sizeof(struct sockaddr_in6));
32    error(err); //ERR
33
34    err = listen(mainsock, listen_queue);
35    error(err);
36
37    return 0;
38}
Note: See TracBrowser for help on using the browser.