commit 5f5e4b5

default  ·  2023-09-23 20:02:52 +0000 UTC
parent 291331c
Backport from xs.
3 files changed,  +9, -20
+6, -6
 1@@ -537,8 +537,8 @@ static void *background_thread(void *arg)
 2 void httpd(void)
 3 /* starts the server */
 4 {
 5-    char *address;
 6-    int port;
 7+    const char *address;
 8+    const char *port;
 9     int rs;
10     pthread_t threads[MAX_THREADS] = {0};
11     int n_threads = 0;
12@@ -548,10 +548,10 @@ void httpd(void)
13     sem_t anon_job_sem;
14 
15     address = xs_dict_get(srv_config, "address");
16-    port    = xs_number_get(xs_dict_get(srv_config, "port"));
17+    port    = xs_number_str(xs_dict_get(srv_config, "port"));
18 
19     if ((rs = xs_socket_server(address, port)) == -1) {
20-        srv_log(xs_fmt("cannot bind socket to %s:%d", address, port));
21+        srv_log(xs_fmt("cannot bind socket to %s:%s", address, port));
22         return;
23     }
24 
25@@ -561,7 +561,7 @@ void httpd(void)
26     signal(SIGTERM, term_handler);
27     signal(SIGINT,  term_handler);
28 
29-    srv_log(xs_fmt("httpd start %s:%d %s", address, port, USER_AGENT));
30+    srv_log(xs_fmt("httpd start %s:%s %s", address, port, USER_AGENT));
31 
32     /* show the number of usable file descriptors */
33     struct rlimit r;
34@@ -648,5 +648,5 @@ void httpd(void)
35 
36     xs *uptime = xs_str_time_diff(time(NULL) - start_time);
37 
38-    srv_log(xs_fmt("httpd stop %s:%d (run time: %s)", address, port, uptime));
39+    srv_log(xs_fmt("httpd stop %s:%s (run time: %s)", address, port, uptime));
40 }
+2, -13
 1@@ -5,8 +5,7 @@
 2 #define _XS_SOCKET_H
 3 
 4 int xs_socket_timeout(int s, double rto, double sto);
 5-int xs_socket_server_serv(const char *addr, const char *serv);
 6-int xs_socket_server(const char *addr, int port);
 7+int xs_socket_server(const char *addr, const char *serv);
 8 FILE *xs_socket_accept(int rs);
 9 xs_str *xs_socket_peername(int s);
10 int xs_socket_connect(const char *addr, const char *serv);
11@@ -44,7 +43,7 @@ int xs_socket_timeout(int s, double rto, double sto)
12 }
13 
14 
15-int xs_socket_server_serv(const char *addr, const char *serv)
16+int xs_socket_server(const char *addr, const char *serv)
17 /* opens a server socket by service name (or port as string) */
18 {
19     int rs = -1;
20@@ -88,16 +87,6 @@ end:
21 }
22 
23 
24-int xs_socket_server(const char *addr, int port)
25-/* opens a server socket (port as integer) */
26-{
27-    char serv[32];
28-
29-    snprintf(serv, sizeof(serv), "%d", port);
30-    return xs_socket_server_serv(addr, serv);
31-}
32-
33-
34 FILE *xs_socket_accept(int rs)
35 /* accepts an incoming connection */
36 {
+1, -1
1@@ -1 +1 @@
2-/* 89589de72ce632da77b0ac4b9d56d3902946b5eb */
3+/* b5831045cfd18e95352e5108cd47386510bf060d */