commit 428e573

default  ·  2024-06-20 15:38:02 +0000 UTC
parent 866f6f7
Minor tweak.
3 files changed,  +7, -9
+3, -2
 1@@ -847,9 +847,10 @@ void httpd(void)
 2 
 3     if (setjmp(on_break) == 0) {
 4         for (;;) {
 5-            FILE *f = xs_socket_accept(rs);
 6+            int cs = xs_socket_accept(rs);
 7 
 8-            if (f != NULL) {
 9+            if (cs != -1) {
10+                FILE *f = fdopen(cs, "r+");
11                 xs *job = xs_data_new(&f, sizeof(FILE *));
12                 job_post(job, 1);
13             }
+3, -6
 1@@ -6,7 +6,7 @@
 2 
 3 int xs_socket_timeout(int s, double rto, double sto);
 4 int xs_socket_server(const char *addr, const char *serv);
 5-FILE *xs_socket_accept(int rs);
 6+int xs_socket_accept(int rs);
 7 int _xs_socket_peername(int s, char *buf, int buf_size);
 8 int xs_socket_connect(const char *addr, const char *serv);
 9 
10@@ -94,16 +94,13 @@ end:
11 }
12 
13 
14-FILE *xs_socket_accept(int rs)
15+int xs_socket_accept(int rs)
16 /* accepts an incoming connection */
17 {
18-    int cs = -1;
19     struct sockaddr_storage addr;
20     socklen_t l = sizeof(addr);
21 
22-    cs = accept(rs, (struct sockaddr *)&addr, &l);
23-
24-    return cs == -1 ? NULL : fdopen(cs, "r+");
25+    return accept(rs, (struct sockaddr *)&addr, &l);
26 }
27 
28 
+1, -1
1@@ -1 +1 @@
2-/* 4595e864ae31bc59cca0fff38bd2bac798c2b038 2024-06-08T19:50:32+02:00 */
3+/* eb935660a9616c92b262b1a92f64f50932b77565 2024-06-20T17:31:26+02:00 */