summaryrefslogtreecommitdiff
path: root/tests/t-common.h
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2015-09-25 10:45:22 +0200
committerWerner Koch <wk@gnupg.org>2015-09-25 11:32:07 +0200
commit071c2170479869f4c6694ae85d2b113e84482a01 (patch)
tree00f0ef082a9c2f26b6ee0e26b37c0828d2886f26 /tests/t-common.h
parent61d832c53b7db5367a5542347e3454c882d0bf28 (diff)
downloadlibgpg-error-071c2170479869f4c6694ae85d2b113e84482a01.tar.gz
estream: Add gpgrt_set_nonblock and gpgrt_poll.
* configure.ac (AC_CHECK_HEADERS): Add sys/select.h and sys/time.h. * src/estream.c: Include both header if available. (COOKIE_IOCTL_NONBLOCK): New. (struct estream_cookie_fd): Add field nonblock. (func_fd_create): Set nonblock from MODEFLAGS. (es_func_fd_ioctl): New. (parse_mode): Add modeflag "nonblock". (es_fill): Map EWOULDBLOCK to EAGAIN. Do not set error indicator for EAGAIN. (es_flush, es_seek, es_write_nbf): Map EWOULDBLOCK to EAGAIN. (do_fdopen): Call COOKIE_IOCTL_NONBLOCK. (_gpgrt_set_nonblock): New. (_gpgrt_get_nonblock): New. (_gpgrt_poll): New. * src/gpg-error.h.in (struct _gpgrt_poll_s): New. (gpgrt_poll_t, es_poll_t): New. (es_set_nonblock, es_get_nonblock, es_poll): New. * src/gpg-error.vers, src/gpg-error.def.in: Add gpgrt_set_nonblock, gpgrt_get_nonblock, and gpgrt_poll. * src/visibility.c (gpgrt_set_nonblock, gpgrt_get_nonblock): New. (gpgrt_poll): New. * tests/t-common.h (DIM): New. * tests/t-poll.c: New. * tests/Makefile.am (TESTS): Add t-poll. (t_poll_LDADD): New. -- The poll interface uses select(2) internally because that is more portable than poll(2). Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to 'tests/t-common.h')
-rw-r--r--tests/t-common.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/tests/t-common.h b/tests/t-common.h
index 85bcd51..c6dcd12 100644
--- a/tests/t-common.h
+++ b/tests/t-common.h
@@ -24,6 +24,9 @@
#ifndef PGM
# error Macro PGM not defined.
#endif
+#ifndef DIM
+# define DIM(array) (sizeof (array) / sizeof (*array))
+#endif
static int verbose;