From c3150e36d6e3d8392c5801a19b7f63daa5551f37 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Mon, 27 Nov 2017 12:44:40 +0000 Subject: Add s6_fdholder_start/end, prepare for 2.6.2.0 --- src/libs6/deps-lib/s6 | 2 ++ src/libs6/s6_fdholder_end.c | 11 +++++++++++ src/libs6/s6_fdholder_start.c | 19 +++++++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 src/libs6/s6_fdholder_end.c create mode 100644 src/libs6/s6_fdholder_start.c (limited to 'src/libs6') diff --git a/src/libs6/deps-lib/s6 b/src/libs6/deps-lib/s6 index a0da2c5..47a3335 100644 --- a/src/libs6/deps-lib/s6 +++ b/src/libs6/deps-lib/s6 @@ -49,6 +49,7 @@ s6lock_wait_or.o s6lock_zero.o s6_fdholder_delete.o s6_fdholder_delete_async.o +s6_fdholder_end.o s6_fdholder_getdump.o s6_fdholder_list.o s6_fdholder_list_async.o @@ -57,6 +58,7 @@ s6_fdholder_retrieve.o s6_fdholder_retrieve_async.o s6_fdholder_retrieve_cb.o s6_fdholder_setdump.o +s6_fdholder_start.o s6_fdholder_store.o s6_fdholder_store_async.o -lskarnet diff --git a/src/libs6/s6_fdholder_end.c b/src/libs6/s6_fdholder_end.c new file mode 100644 index 0000000..7b2cb2d --- /dev/null +++ b/src/libs6/s6_fdholder_end.c @@ -0,0 +1,11 @@ +/* ISC license. */ + +#include +#include +#include + +void s6_fdholder_end (s6_fdholder_t *a) +{ + fd_close(unixmessage_sender_fd(&a->connection.out)) ; + s6_fdholder_free(a) ; +} diff --git a/src/libs6/s6_fdholder_start.c b/src/libs6/s6_fdholder_start.c new file mode 100644 index 0000000..d887247 --- /dev/null +++ b/src/libs6/s6_fdholder_start.c @@ -0,0 +1,19 @@ +/* ISC license. */ + +#include +#include +#include +#include + +int s6_fdholder_start (s6_fdholder_t *a, char const *path, tain_t const *deadline, tain_t *stamp) +{ + int fd = ipc_stream_nb() ; + if (fd < 0) return 0 ; + if (!ipc_timed_connect(fd, path, deadline, stamp)) + { + fd_close(fd) ; + return 0 ; + } + unixconnection_init(&a->connection, fd, fd) ; + return 1 ; +} -- cgit v1.2.3