From 3c1ff1523587881324fc540fece06412c29c66de Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Fri, 22 Dec 2017 14:46:04 +0000 Subject: Add textclient, fix some textmessage issues --- src/libunixonacid/textclient_end.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/libunixonacid/textclient_end.c (limited to 'src/libunixonacid/textclient_end.c') diff --git a/src/libunixonacid/textclient_end.c b/src/libunixonacid/textclient_end.c new file mode 100644 index 0000000..58fc930 --- /dev/null +++ b/src/libunixonacid/textclient_end.c @@ -0,0 +1,22 @@ +/* ISC license. */ + +#include +#include +#include + +void textclient_end (textclient_t *a) +{ + fd_close(textmessage_sender_fd(&a->syncout)) ; + if (textmessage_receiver_fd(&a->syncin) != textmessage_sender_fd(&a->syncout)) + fd_close(textmessage_receiver_fd(&a->syncin)) ; + fd_close(textmessage_receiver_fd(&a->asyncin)) ; + textmessage_sender_free(&a->syncout) ; + textmessage_receiver_free(&a->syncin) ; + textmessage_receiver_free(&a->asyncin) ; + if (a->pid && a->options & TEXTCLIENT_OPTION_WAITPID) + { + int wstat ; + waitpid_nointr(a->pid, &wstat, 0) ; + } + *a = textclient_zero ; +} -- cgit v1.2.3