aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2026-03-16 16:17:30 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2026-03-16 16:17:30 +0000
commitcd7576d3441a8b96eea36f7238f40ace73d1836b (patch)
tree4cb23d8ef5c7caf0d60729ad5c1249b6c6253d63 /src
parent6cf0cb6f31d8a4ee8d265ae6e51632ac9e826bf4 (diff)
downloadskalibs-cd7576d3441a8b96eea36f7238f40ace73d1836b.tar.gz
Separate sassserver_event() into write and read events
Diffstat (limited to 'src')
-rw-r--r--src/include/skalibs/sassserver.h3
-rw-r--r--src/libunixonacid/sassserver.c5
2 files changed, 6 insertions, 2 deletions
diff --git a/src/include/skalibs/sassserver.h b/src/include/skalibs/sassserver.h
index a5a4453..d74eaf2 100644
--- a/src/include/skalibs/sassserver.h
+++ b/src/include/skalibs/sassserver.h
@@ -36,7 +36,8 @@ extern void sassserver_init (sassserver *, char const *, char const *, sassserve
#define sassserver_init_g(a, banner1, banner2, sendf, cancelf, esize, cleanupf, aux, deadline) sassserver_init(a, banner1, banner2, sendf, cancelf, esize, cleanupf, aux, (deadline), &STAMP)
extern unsigned int sassserver_prepare_iopause (sassserver const *, iopause_fd *, tain *) ;
extern void sassserver_timeout (sassserver *) ;
-extern int sassserver_event (sassserver *, iopause_fd const *) ;
+extern void sassserver_write_event (sassserver *, iopause_fd const *) ;
+extern int sassserver_read_event (sassserver *, iopause_fd const *) ;
extern void *sassserver_data (sassserver const *, uint32_t) ;
extern void sassserver_async_failure (sassserver *, uint32_t, int) ;
diff --git a/src/libunixonacid/sassserver.c b/src/libunixonacid/sassserver.c
index bc2dd4b..b2c91db 100644
--- a/src/libunixonacid/sassserver.c
+++ b/src/libunixonacid/sassserver.c
@@ -263,7 +263,7 @@ void sassserver_timeout (sassserver *a)
}
}
-int sassserver_event (sassserver *a, iopause_fd const *x)
+void sassserver_write_event (sassserver *a, iopause_fd const *x)
{
if (x[1].revents & IOPAUSE_WRITE)
if (!textmessage_sender_flush(textmessage_sender_1) && !error_isagain(errno))
@@ -277,7 +277,10 @@ int sassserver_event (sassserver *a, iopause_fd const *x)
(*a->cleanupf)(a->aux) ;
strerr_diefu1sys(111, "flush asyncout") ;
}
+}
+int sassserver_read_event (sassserver *a, iopause_fd const *x)
+{
if (!textmessage_receiver_isempty(textmessage_receiver_0) || x[0].revents & IOPAUSE_READ)
{
if (textmessage_handle(textmessage_receiver_0, &sassserver_parse_protocol, a) == -1)