commit 428e57352527e33b141e976b45e290ac65fd68fc
parent 866f6f79ad2ab48c7319b75c37f1bf0674fe72b2
Author: default <nobody@localhost>
Date: Thu, 20 Jun 2024 17:38:02 +0200
Minor tweak.
Diffstat:
3 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/httpd.c b/httpd.c
@@ -847,9 +847,10 @@ void httpd(void)
if (setjmp(on_break) == 0) {
for (;;) {
- FILE *f = xs_socket_accept(rs);
+ int cs = xs_socket_accept(rs);
- if (f != NULL) {
+ if (cs != -1) {
+ FILE *f = fdopen(cs, "r+");
xs *job = xs_data_new(&f, sizeof(FILE *));
job_post(job, 1);
}
diff --git a/xs_socket.h b/xs_socket.h
@@ -6,7 +6,7 @@
int xs_socket_timeout(int s, double rto, double sto);
int xs_socket_server(const char *addr, const char *serv);
-FILE *xs_socket_accept(int rs);
+int xs_socket_accept(int rs);
int _xs_socket_peername(int s, char *buf, int buf_size);
int xs_socket_connect(const char *addr, const char *serv);
@@ -94,16 +94,13 @@ end:
}
-FILE *xs_socket_accept(int rs)
+int xs_socket_accept(int rs)
/* accepts an incoming connection */
{
- int cs = -1;
struct sockaddr_storage addr;
socklen_t l = sizeof(addr);
- cs = accept(rs, (struct sockaddr *)&addr, &l);
-
- return cs == -1 ? NULL : fdopen(cs, "r+");
+ return accept(rs, (struct sockaddr *)&addr, &l);
}
diff --git a/xs_version.h b/xs_version.h
@@ -1 +1 @@
-/* 4595e864ae31bc59cca0fff38bd2bac798c2b038 2024-06-08T19:50:32+02:00 */
+/* eb935660a9616c92b262b1a92f64f50932b77565 2024-06-20T17:31:26+02:00 */