From cd7576d3441a8b96eea36f7238f40ace73d1836b Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Mon, 16 Mar 2026 16:17:30 +0000 Subject: Separate sassserver_event() into write and read events --- src/include/skalibs/sassserver.h | 3 ++- src/libunixonacid/sassserver.c | 5 ++++- 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) -- cgit v1.3.1