adding a nonblocking mariadb client device
This commit is contained in:
		@ -83,10 +83,19 @@ libmio_la_SOURCES = \
 | 
			
		||||
	tmr.c \
 | 
			
		||||
	utf8.c \
 | 
			
		||||
	utl.c
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
libmio_la_CPPFLAGS = $(CPPFLAGS_LIB_COMMON)
 | 
			
		||||
libmio_la_LDFLAGS = $(LDFLAGS_LIB_COMMON)
 | 
			
		||||
libmio_la_LIBADD = $(LIBADD_LIB_COMMON) $(SSL_LIBS) $(SOCKET_LIBS) $(SENDFILE_LIBS)
 | 
			
		||||
 | 
			
		||||
if ENABLE_MARIADB
 | 
			
		||||
include_HEADERS += mio-maria.h
 | 
			
		||||
libmio_la_SOURCES += maria.c
 | 
			
		||||
libmio_la_LDFLAGS +=
 | 
			
		||||
libmio_la_LIBADD += -lmariadb
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
install-data-hook:
 | 
			
		||||
	@echo "#ifndef _MIO_CFG_H_" > "$(DESTDIR)$(includedir)/mio-cfg.h"
 | 
			
		||||
	@echo "#define _MIO_CFG_H_" >> "$(DESTDIR)$(includedir)/mio-cfg.h"
 | 
			
		||||
 | 
			
		||||
@ -89,6 +89,10 @@ PRE_UNINSTALL = :
 | 
			
		||||
POST_UNINSTALL = :
 | 
			
		||||
build_triplet = @build@
 | 
			
		||||
host_triplet = @host@
 | 
			
		||||
@ENABLE_MARIADB_TRUE@am__append_1 = mio-maria.h
 | 
			
		||||
@ENABLE_MARIADB_TRUE@am__append_2 = maria.c
 | 
			
		||||
@ENABLE_MARIADB_TRUE@am__append_3 = 
 | 
			
		||||
@ENABLE_MARIADB_TRUE@am__append_4 = -lmariadb
 | 
			
		||||
subdir = lib
 | 
			
		||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 | 
			
		||||
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_sign.m4 \
 | 
			
		||||
@ -99,7 +103,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_sign.m4 \
 | 
			
		||||
	$(top_srcdir)/configure.ac
 | 
			
		||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 | 
			
		||||
	$(ACLOCAL_M4)
 | 
			
		||||
DIST_COMMON = $(srcdir)/Makefile.am $(include_HEADERS) \
 | 
			
		||||
DIST_COMMON = $(srcdir)/Makefile.am $(am__include_HEADERS_DIST) \
 | 
			
		||||
	$(am__DIST_COMMON)
 | 
			
		||||
mkinstalldirs = $(install_sh) -d
 | 
			
		||||
CONFIG_HEADER = mio-cfg.h
 | 
			
		||||
@ -137,7 +141,15 @@ LTLIBRARIES = $(lib_LTLIBRARIES)
 | 
			
		||||
am__DEPENDENCIES_1 =
 | 
			
		||||
am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
 | 
			
		||||
libmio_la_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \
 | 
			
		||||
	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
 | 
			
		||||
	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 | 
			
		||||
	$(am__DEPENDENCIES_1)
 | 
			
		||||
am__libmio_la_SOURCES_DIST = chr.c dns.c dns-cli.c ecs.c ecs-imp.h \
 | 
			
		||||
	err.c fmt.c fmt-imp.h htb.c htrd.c htre.c http.c http-cgi.c \
 | 
			
		||||
	http-svr.c http-thr.c http-txt.c json.c mio-prv.h mio.c nwif.c \
 | 
			
		||||
	path.c pipe.c pro.c sck.c skad.c sys.c sys-ass.c sys-err.c \
 | 
			
		||||
	sys-log.c sys-mux.c sys-prv.h sys-tim.c thr.c uch-case.h \
 | 
			
		||||
	uch-prop.h tmr.c utf8.c utl.c maria.c
 | 
			
		||||
@ENABLE_MARIADB_TRUE@am__objects_1 = libmio_la-maria.lo
 | 
			
		||||
am_libmio_la_OBJECTS = libmio_la-chr.lo libmio_la-dns.lo \
 | 
			
		||||
	libmio_la-dns-cli.lo libmio_la-ecs.lo libmio_la-err.lo \
 | 
			
		||||
	libmio_la-fmt.lo libmio_la-htb.lo libmio_la-htrd.lo \
 | 
			
		||||
@ -149,7 +161,7 @@ am_libmio_la_OBJECTS = libmio_la-chr.lo libmio_la-dns.lo \
 | 
			
		||||
	libmio_la-sys.lo libmio_la-sys-ass.lo libmio_la-sys-err.lo \
 | 
			
		||||
	libmio_la-sys-log.lo libmio_la-sys-mux.lo libmio_la-sys-tim.lo \
 | 
			
		||||
	libmio_la-thr.lo libmio_la-tmr.lo libmio_la-utf8.lo \
 | 
			
		||||
	libmio_la-utl.lo
 | 
			
		||||
	libmio_la-utl.lo $(am__objects_1)
 | 
			
		||||
libmio_la_OBJECTS = $(am_libmio_la_OBJECTS)
 | 
			
		||||
AM_V_lt = $(am__v_lt_@AM_V@)
 | 
			
		||||
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
 | 
			
		||||
@ -184,10 +196,10 @@ am__depfiles_remade = ./$(DEPDIR)/libmio_la-chr.Plo \
 | 
			
		||||
	./$(DEPDIR)/libmio_la-http-thr.Plo \
 | 
			
		||||
	./$(DEPDIR)/libmio_la-http-txt.Plo \
 | 
			
		||||
	./$(DEPDIR)/libmio_la-http.Plo ./$(DEPDIR)/libmio_la-json.Plo \
 | 
			
		||||
	./$(DEPDIR)/libmio_la-mio.Plo ./$(DEPDIR)/libmio_la-nwif.Plo \
 | 
			
		||||
	./$(DEPDIR)/libmio_la-path.Plo ./$(DEPDIR)/libmio_la-pipe.Plo \
 | 
			
		||||
	./$(DEPDIR)/libmio_la-pro.Plo ./$(DEPDIR)/libmio_la-sck.Plo \
 | 
			
		||||
	./$(DEPDIR)/libmio_la-skad.Plo \
 | 
			
		||||
	./$(DEPDIR)/libmio_la-maria.Plo ./$(DEPDIR)/libmio_la-mio.Plo \
 | 
			
		||||
	./$(DEPDIR)/libmio_la-nwif.Plo ./$(DEPDIR)/libmio_la-path.Plo \
 | 
			
		||||
	./$(DEPDIR)/libmio_la-pipe.Plo ./$(DEPDIR)/libmio_la-pro.Plo \
 | 
			
		||||
	./$(DEPDIR)/libmio_la-sck.Plo ./$(DEPDIR)/libmio_la-skad.Plo \
 | 
			
		||||
	./$(DEPDIR)/libmio_la-sys-ass.Plo \
 | 
			
		||||
	./$(DEPDIR)/libmio_la-sys-err.Plo \
 | 
			
		||||
	./$(DEPDIR)/libmio_la-sys-log.Plo \
 | 
			
		||||
@ -216,12 +228,17 @@ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
 | 
			
		||||
am__v_CCLD_0 = @echo "  CCLD    " $@;
 | 
			
		||||
am__v_CCLD_1 = 
 | 
			
		||||
SOURCES = $(libmio_la_SOURCES)
 | 
			
		||||
DIST_SOURCES = $(libmio_la_SOURCES)
 | 
			
		||||
DIST_SOURCES = $(am__libmio_la_SOURCES_DIST)
 | 
			
		||||
am__can_run_installinfo = \
 | 
			
		||||
  case $$AM_UPDATE_INFO_DIR in \
 | 
			
		||||
    n|no|NO) false;; \
 | 
			
		||||
    *) (install-info --version) >/dev/null 2>&1;; \
 | 
			
		||||
  esac
 | 
			
		||||
am__include_HEADERS_DIST = mio-cfg.h mio-chr.h mio-cmn.h mio-dns.h \
 | 
			
		||||
	mio-ecs.h mio-fmt.h mio-htb.h mio-htrd.h mio-htre.h mio-http.h \
 | 
			
		||||
	mio-json.h mio-nwif.h mio-pac1.h mio-path.h mio-pipe.h \
 | 
			
		||||
	mio-pro.h mio-sck.h mio-skad.h mio-thr.h mio-upac.h mio-utl.h \
 | 
			
		||||
	mio.h mio-maria.h
 | 
			
		||||
HEADERS = $(include_HEADERS)
 | 
			
		||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
 | 
			
		||||
	$(LISP)mio-cfg.h.in
 | 
			
		||||
@ -411,74 +428,22 @@ LIBADD_LIB_COMMON = $(LIBM)
 | 
			
		||||
#pkgincludedir = $(includedir)
 | 
			
		||||
#pkglibdir = $(libdir)
 | 
			
		||||
#pkgbindir = $(bindir)
 | 
			
		||||
include_HEADERS = \
 | 
			
		||||
	mio-cfg.h \
 | 
			
		||||
	mio-chr.h \
 | 
			
		||||
	mio-cmn.h \
 | 
			
		||||
	mio-dns.h \
 | 
			
		||||
	mio-ecs.h \
 | 
			
		||||
	mio-fmt.h \
 | 
			
		||||
	mio-htb.h \
 | 
			
		||||
	mio-htrd.h \
 | 
			
		||||
	mio-htre.h \
 | 
			
		||||
	mio-http.h \
 | 
			
		||||
	mio-json.h \
 | 
			
		||||
	mio-nwif.h \
 | 
			
		||||
	mio-pac1.h \
 | 
			
		||||
	mio-path.h \
 | 
			
		||||
	mio-pipe.h \
 | 
			
		||||
	mio-pro.h \
 | 
			
		||||
	mio-sck.h \
 | 
			
		||||
	mio-skad.h \
 | 
			
		||||
	mio-thr.h \
 | 
			
		||||
	mio-upac.h \
 | 
			
		||||
	mio-utl.h \
 | 
			
		||||
	mio.h
 | 
			
		||||
 | 
			
		||||
include_HEADERS = mio-cfg.h mio-chr.h mio-cmn.h mio-dns.h mio-ecs.h \
 | 
			
		||||
	mio-fmt.h mio-htb.h mio-htrd.h mio-htre.h mio-http.h \
 | 
			
		||||
	mio-json.h mio-nwif.h mio-pac1.h mio-path.h mio-pipe.h \
 | 
			
		||||
	mio-pro.h mio-sck.h mio-skad.h mio-thr.h mio-upac.h mio-utl.h \
 | 
			
		||||
	mio.h $(am__append_1)
 | 
			
		||||
lib_LTLIBRARIES = libmio.la
 | 
			
		||||
libmio_la_SOURCES = \
 | 
			
		||||
	chr.c \
 | 
			
		||||
	dns.c \
 | 
			
		||||
	dns-cli.c \
 | 
			
		||||
	ecs.c \
 | 
			
		||||
	ecs-imp.h \
 | 
			
		||||
	err.c \
 | 
			
		||||
	fmt.c \
 | 
			
		||||
	fmt-imp.h \
 | 
			
		||||
	htb.c \
 | 
			
		||||
	htrd.c \
 | 
			
		||||
	htre.c \
 | 
			
		||||
	http.c \
 | 
			
		||||
	http-cgi.c \
 | 
			
		||||
	http-svr.c \
 | 
			
		||||
	http-thr.c \
 | 
			
		||||
	http-txt.c \
 | 
			
		||||
	json.c \
 | 
			
		||||
	mio-prv.h \
 | 
			
		||||
	mio.c \
 | 
			
		||||
	nwif.c \
 | 
			
		||||
	path.c \
 | 
			
		||||
	pipe.c \
 | 
			
		||||
	pro.c \
 | 
			
		||||
	sck.c \
 | 
			
		||||
	skad.c \
 | 
			
		||||
	sys.c \
 | 
			
		||||
	sys-ass.c \
 | 
			
		||||
	sys-err.c \
 | 
			
		||||
	sys-log.c \
 | 
			
		||||
	sys-mux.c \
 | 
			
		||||
	sys-prv.h \
 | 
			
		||||
	sys-tim.c \
 | 
			
		||||
	thr.c \
 | 
			
		||||
	uch-case.h \
 | 
			
		||||
	uch-prop.h \
 | 
			
		||||
	tmr.c \
 | 
			
		||||
	utf8.c \
 | 
			
		||||
	utl.c
 | 
			
		||||
 | 
			
		||||
libmio_la_SOURCES = chr.c dns.c dns-cli.c ecs.c ecs-imp.h err.c fmt.c \
 | 
			
		||||
	fmt-imp.h htb.c htrd.c htre.c http.c http-cgi.c http-svr.c \
 | 
			
		||||
	http-thr.c http-txt.c json.c mio-prv.h mio.c nwif.c path.c \
 | 
			
		||||
	pipe.c pro.c sck.c skad.c sys.c sys-ass.c sys-err.c sys-log.c \
 | 
			
		||||
	sys-mux.c sys-prv.h sys-tim.c thr.c uch-case.h uch-prop.h \
 | 
			
		||||
	tmr.c utf8.c utl.c $(am__append_2)
 | 
			
		||||
libmio_la_CPPFLAGS = $(CPPFLAGS_LIB_COMMON)
 | 
			
		||||
libmio_la_LDFLAGS = $(LDFLAGS_LIB_COMMON)
 | 
			
		||||
libmio_la_LIBADD = $(LIBADD_LIB_COMMON) $(SSL_LIBS) $(SOCKET_LIBS) $(SENDFILE_LIBS)
 | 
			
		||||
libmio_la_LDFLAGS = $(LDFLAGS_LIB_COMMON) $(am__append_3)
 | 
			
		||||
libmio_la_LIBADD = $(LIBADD_LIB_COMMON) $(SSL_LIBS) $(SOCKET_LIBS) \
 | 
			
		||||
	$(SENDFILE_LIBS) $(am__append_4)
 | 
			
		||||
all: mio-cfg.h
 | 
			
		||||
	$(MAKE) $(AM_MAKEFLAGS) all-am
 | 
			
		||||
 | 
			
		||||
@ -588,6 +553,7 @@ distclean-compile:
 | 
			
		||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmio_la-http-txt.Plo@am__quote@ # am--include-marker
 | 
			
		||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmio_la-http.Plo@am__quote@ # am--include-marker
 | 
			
		||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmio_la-json.Plo@am__quote@ # am--include-marker
 | 
			
		||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmio_la-maria.Plo@am__quote@ # am--include-marker
 | 
			
		||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmio_la-mio.Plo@am__quote@ # am--include-marker
 | 
			
		||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmio_la-nwif.Plo@am__quote@ # am--include-marker
 | 
			
		||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmio_la-path.Plo@am__quote@ # am--include-marker
 | 
			
		||||
@ -860,6 +826,13 @@ libmio_la-utl.lo: utl.c
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 | 
			
		||||
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmio_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmio_la-utl.lo `test -f 'utl.c' || echo '$(srcdir)/'`utl.c
 | 
			
		||||
 | 
			
		||||
libmio_la-maria.lo: maria.c
 | 
			
		||||
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmio_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmio_la-maria.lo -MD -MP -MF $(DEPDIR)/libmio_la-maria.Tpo -c -o libmio_la-maria.lo `test -f 'maria.c' || echo '$(srcdir)/'`maria.c
 | 
			
		||||
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmio_la-maria.Tpo $(DEPDIR)/libmio_la-maria.Plo
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='maria.c' object='libmio_la-maria.lo' libtool=yes @AMDEPBACKSLASH@
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 | 
			
		||||
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmio_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmio_la-maria.lo `test -f 'maria.c' || echo '$(srcdir)/'`maria.c
 | 
			
		||||
 | 
			
		||||
mostlyclean-libtool:
 | 
			
		||||
	-rm -f *.lo
 | 
			
		||||
 | 
			
		||||
@ -1030,6 +1003,7 @@ distclean: distclean-am
 | 
			
		||||
	-rm -f ./$(DEPDIR)/libmio_la-http-txt.Plo
 | 
			
		||||
	-rm -f ./$(DEPDIR)/libmio_la-http.Plo
 | 
			
		||||
	-rm -f ./$(DEPDIR)/libmio_la-json.Plo
 | 
			
		||||
	-rm -f ./$(DEPDIR)/libmio_la-maria.Plo
 | 
			
		||||
	-rm -f ./$(DEPDIR)/libmio_la-mio.Plo
 | 
			
		||||
	-rm -f ./$(DEPDIR)/libmio_la-nwif.Plo
 | 
			
		||||
	-rm -f ./$(DEPDIR)/libmio_la-path.Plo
 | 
			
		||||
@ -1108,6 +1082,7 @@ maintainer-clean: maintainer-clean-am
 | 
			
		||||
	-rm -f ./$(DEPDIR)/libmio_la-http-txt.Plo
 | 
			
		||||
	-rm -f ./$(DEPDIR)/libmio_la-http.Plo
 | 
			
		||||
	-rm -f ./$(DEPDIR)/libmio_la-json.Plo
 | 
			
		||||
	-rm -f ./$(DEPDIR)/libmio_la-maria.Plo
 | 
			
		||||
	-rm -f ./$(DEPDIR)/libmio_la-mio.Plo
 | 
			
		||||
	-rm -f ./$(DEPDIR)/libmio_la-nwif.Plo
 | 
			
		||||
	-rm -f ./$(DEPDIR)/libmio_la-path.Plo
 | 
			
		||||
 | 
			
		||||
@ -33,33 +33,32 @@ static mio_ooch_t errstr_2[] = {'n', 'o', 't', ' ', 'i', 'm', 'p', 'l', 'e', 'm'
 | 
			
		||||
static mio_ooch_t errstr_3[] = {'s', 'y', 's', 't', 'e', 'm', ' ', 'e', 'r', 'r', 'o', 'r', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_4[] = {'i', 'n', 't', 'e', 'r', 'n', 'a', 'l', ' ', 'e', 'r', 'r', 'o', 'r', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_5[] = {'i', 'n', 's', 'u', 'f', 'f', 'i', 'c', 'i', 'e', 'n', 't', ' ', 's', 'y', 's', 't', 'e', 'm', ' ', 'm', 'e', 'm', 'o', 'r', 'y', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_6[] = {'i', 'n', 's', 'u', 'f', 'f', 'i', 'c', 'i', 'e', 'n', 't', ' ', 'o', 'b', 'j', 'e', 'c', 't', ' ', 'm', 'e', 'm', 'o', 'r', 'y', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_7[] = {'i', 'n', 'v', 'a', 'l', 'i', 'd', ' ', 'p', 'a', 'r', 'a', 'm', 'e', 't', 'e', 'r', ' ', 'o', 'r', ' ', 'd', 'a', 't', 'a', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_8[] = {'d', 'a', 't', 'a', ' ', 'n', 'o', 't', ' ', 'f', 'o', 'u', 'n', 'd', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_9[] = {'e', 'x', 'i', 's', 't', 'i', 'n', 'g', '/', 'd', 'u', 'p', 'l', 'i', 'c', 'a', 't', 'e', ' ', 'd', 'a', 't', 'a', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_10[] = {'s', 'y', 's', 't', 'e', 'm', ' ', 'b', 'u', 's', 'y', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_11[] = {'a', 'c', 'c', 'e', 's', 's', ' ', 'd', 'e', 'n', 'i', 'e', 'd', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_12[] = {'o', 'p', 'e', 'r', 'a', 't', 'i', 'o', 'n', ' ', 'n', 'o', 't', ' ', 'p', 'e', 'r', 'm', 'i', 't', 't', 'e', 'd', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_13[] = {'n', 'o', 't', ' ', 'd', 'i', 'r', 'e', 'c', 't', 'o', 'r', 'y', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_14[] = {'i', 'n', 't', 'e', 'r', 'r', 'u', 'p', 't', 'e', 'd', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_15[] = {'p', 'i', 'p', 'e', ' ', 'e', 'r', 'r', 'o', 'r', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_16[] = {'r', 'e', 's', 'o', 'u', 'r', 'c', 'e', ' ', 't', 'e', 'm', 'p', 'o', 'r', 'a', 'r', 'i', 'l', 'y', ' ', 'u', 'n', 'a', 'v', 'a', 'i', 'l', 'a', 'b', 'l', 'e', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_17[] = {'b', 'a', 'd', ' ', 's', 'y', 's', 't', 'e', 'm', ' ', 'h', 'a', 'n', 'd', 'l', 'e', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_18[] = {'b', 'a', 'd', ' ', 'r', 'e', 'q', 'u', 'e', 's', 't', ' ', 'o', 'r', ' ', 'r', 'e', 's', 'p', 'o', 'n', 's', 'e', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_6[] = {'i', 'n', 'v', 'a', 'l', 'i', 'd', ' ', 'p', 'a', 'r', 'a', 'm', 'e', 't', 'e', 'r', ' ', 'o', 'r', ' ', 'd', 'a', 't', 'a', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_7[] = {'d', 'a', 't', 'a', ' ', 'n', 'o', 't', ' ', 'f', 'o', 'u', 'n', 'd', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_8[] = {'e', 'x', 'i', 's', 't', 'i', 'n', 'g', '/', 'd', 'u', 'p', 'l', 'i', 'c', 'a', 't', 'e', ' ', 'd', 'a', 't', 'a', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_9[] = {'s', 'y', 's', 't', 'e', 'm', ' ', 'b', 'u', 's', 'y', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_10[] = {'a', 'c', 'c', 'e', 's', 's', ' ', 'd', 'e', 'n', 'i', 'e', 'd', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_11[] = {'o', 'p', 'e', 'r', 'a', 't', 'i', 'o', 'n', ' ', 'n', 'o', 't', ' ', 'p', 'e', 'r', 'm', 'i', 't', 't', 'e', 'd', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_12[] = {'n', 'o', 't', ' ', 'd', 'i', 'r', 'e', 'c', 't', 'o', 'r', 'y', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_13[] = {'i', 'n', 't', 'e', 'r', 'r', 'u', 'p', 't', 'e', 'd', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_14[] = {'p', 'i', 'p', 'e', ' ', 'e', 'r', 'r', 'o', 'r', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_15[] = {'r', 'e', 's', 'o', 'u', 'r', 'c', 'e', ' ', 't', 'e', 'm', 'p', 'o', 'r', 'a', 'r', 'i', 'l', 'y', ' ', 'u', 'n', 'a', 'v', 'a', 'i', 'l', 'a', 'b', 'l', 'e', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_16[] = {'b', 'a', 'd', ' ', 's', 'y', 's', 't', 'e', 'm', ' ', 'h', 'a', 'n', 'd', 'l', 'e', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_17[] = {'b', 'a', 'd', ' ', 'r', 'e', 'q', 'u', 'e', 's', 't', ' ', 'o', 'r', ' ', 'r', 'e', 's', 'p', 'o', 'n', 's', 'e', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_18[] = {'t', 'o', 'o', ' ', 'm', 'a', 'n', 'y', ' ', 'o', 'p', 'e', 'n', ' ', 'f', 'i', 'l', 'e', 's', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_19[] = {'t', 'o', 'o', ' ', 'm', 'a', 'n', 'y', ' ', 'o', 'p', 'e', 'n', ' ', 'f', 'i', 'l', 'e', 's', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_20[] = {'t', 'o', 'o', ' ', 'm', 'a', 'n', 'y', ' ', 'o', 'p', 'e', 'n', ' ', 'f', 'i', 'l', 'e', 's', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_21[] = {'I', '/', 'O', ' ', 'e', 'r', 'r', 'o', 'r', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_22[] = {'e', 'n', 'c', 'o', 'd', 'i', 'n', 'g', ' ', 'c', 'o', 'n', 'v', 'e', 'r', 's', 'i', 'o', 'n', ' ', 'e', 'r', 'r', 'o', 'r', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_23[] = {'i', 'n', 's', 'u', 'f', 'f', 'i', 'c', 'i', 'e', 'n', 't', ' ', 'd', 'a', 't', 'a', ' ', 'f', 'o', 'r', ' ', 'e', 'n', 'c', 'o', 'd', 'i', 'n', 'g', ' ', 'c', 'o', 'n', 'v', 'e', 'r', 's', 'i', 'o', 'n', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_24[] = {'b', 'u', 'f', 'f', 'e', 'r', ' ', 'f', 'u', 'l', 'l', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_25[] = {'c', 'o', 'n', 'n', 'e', 'c', 't', 'i', 'o', 'n', ' ', 'r', 'e', 'f', 'u', 's', 'e', 'd', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_26[] = {'c', 'o', 'n', 'n', 'e', 'c', 't', 'i', 'o', 'n', ' ', 'r', 'e', 's', 'e', 't', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_27[] = {'n', 'o', ' ', 'c', 'a', 'p', 'a', 'b', 'i', 'l', 'i', 't', 'y', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_28[] = {'t', 'i', 'm', 'e', 'd', ' ', 'o', 'u', 't', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_29[] = {'n', 'o', ' ', 'r', 'e', 's', 'p', 'o', 'n', 's', 'e', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_30[] = {'u', 'n', 'a', 'b', 'l', 'e', ' ', 't', 'o', ' ', 'm', 'a', 'k', 'e', ' ', 'd', 'e', 'v', 'i', 'c', 'e', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_31[] = {'d', 'e', 'v', 'i', 'c', 'e', ' ', 'e', 'r', 'r', 'o', 'r', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_32[] = {'d', 'e', 'v', 'i', 'c', 'e', ' ', 'h', 'a', 'n', 'g', '-', 'u', 'p', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_20[] = {'I', '/', 'O', ' ', 'e', 'r', 'r', 'o', 'r', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_21[] = {'e', 'n', 'c', 'o', 'd', 'i', 'n', 'g', ' ', 'c', 'o', 'n', 'v', 'e', 'r', 's', 'i', 'o', 'n', ' ', 'e', 'r', 'r', 'o', 'r', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_22[] = {'i', 'n', 's', 'u', 'f', 'f', 'i', 'c', 'i', 'e', 'n', 't', ' ', 'd', 'a', 't', 'a', ' ', 'f', 'o', 'r', ' ', 'e', 'n', 'c', 'o', 'd', 'i', 'n', 'g', ' ', 'c', 'o', 'n', 'v', 'e', 'r', 's', 'i', 'o', 'n', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_23[] = {'b', 'u', 'f', 'f', 'e', 'r', ' ', 'f', 'u', 'l', 'l', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_24[] = {'c', 'o', 'n', 'n', 'e', 'c', 't', 'i', 'o', 'n', ' ', 'r', 'e', 'f', 'u', 's', 'e', 'd', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_25[] = {'c', 'o', 'n', 'n', 'e', 'c', 't', 'i', 'o', 'n', ' ', 'r', 'e', 's', 'e', 't', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_26[] = {'n', 'o', ' ', 'c', 'a', 'p', 'a', 'b', 'i', 'l', 'i', 't', 'y', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_27[] = {'t', 'i', 'm', 'e', 'd', ' ', 'o', 'u', 't', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_28[] = {'n', 'o', ' ', 'r', 'e', 's', 'p', 'o', 'n', 's', 'e', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_29[] = {'u', 'n', 'a', 'b', 'l', 'e', ' ', 't', 'o', ' ', 'm', 'a', 'k', 'e', ' ', 'd', 'e', 'v', 'i', 'c', 'e', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_30[] = {'d', 'e', 'v', 'i', 'c', 'e', ' ', 'e', 'r', 'r', 'o', 'r', '\0' };
 | 
			
		||||
static mio_ooch_t errstr_31[] = {'d', 'e', 'v', 'i', 'c', 'e', ' ', 'h', 'a', 'n', 'g', '-', 'u', 'p', '\0' };
 | 
			
		||||
static mio_ooch_t* errstr[] =
 | 
			
		||||
{
 | 
			
		||||
	errstr_0, errstr_1, errstr_2, errstr_3, errstr_4,
 | 
			
		||||
@ -68,7 +67,7 @@ static mio_ooch_t* errstr[] =
 | 
			
		||||
	errstr_15, errstr_16, errstr_17, errstr_18, errstr_19,
 | 
			
		||||
	errstr_20, errstr_21, errstr_22, errstr_23, errstr_24,
 | 
			
		||||
	errstr_25, errstr_26, errstr_27, errstr_28, errstr_29,
 | 
			
		||||
	errstr_30, errstr_31, errstr_32
 | 
			
		||||
	errstr_30, errstr_31
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -765,6 +765,9 @@
 | 
			
		||||
/* use libunwind for backtracing stack frames */
 | 
			
		||||
#undef MIO_ENABLE_LIBUNWIND
 | 
			
		||||
 | 
			
		||||
/* build the mariadb device */
 | 
			
		||||
#undef MIO_ENABLE_MARIADB
 | 
			
		||||
 | 
			
		||||
/* Use the unicode character type as the default character type */
 | 
			
		||||
#undef MIO_ENABLE_UNICODE
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -221,8 +221,6 @@ typedef enum mio_dev_sck_ioctl_cmd_t mio_dev_sck_ioctl_cmd_t;
 | 
			
		||||
} while(0)
 | 
			
		||||
 | 
			
		||||
#define MIO_DEV_SCK_GET_PROGRESS(dev) ((dev)->state & MIO_DEV_SCK_ALL_PROGRESS_BITS)
 | 
			
		||||
#define MIO_DEV_SCK_GET_TOLERANT(dev) ((dev)->state & MIO_DEV_SCK_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
enum mio_dev_sck_state_t
 | 
			
		||||
{
 | 
			
		||||
@ -240,11 +238,11 @@ enum mio_dev_sck_state_t
 | 
			
		||||
 | 
			
		||||
	/* convenience bit masks */
 | 
			
		||||
	MIO_DEV_SCK_ALL_PROGRESS_BITS = (MIO_DEV_SCK_CONNECTING |
 | 
			
		||||
	                                  MIO_DEV_SCK_CONNECTING_SSL |
 | 
			
		||||
	                                  MIO_DEV_SCK_CONNECTED |
 | 
			
		||||
	                                  MIO_DEV_SCK_LISTENING |
 | 
			
		||||
	                                  MIO_DEV_SCK_ACCEPTING_SSL |
 | 
			
		||||
	                                  MIO_DEV_SCK_ACCEPTED)
 | 
			
		||||
	                                 MIO_DEV_SCK_CONNECTING_SSL |
 | 
			
		||||
	                                 MIO_DEV_SCK_CONNECTED |
 | 
			
		||||
	                                 MIO_DEV_SCK_LISTENING |
 | 
			
		||||
	                                 MIO_DEV_SCK_ACCEPTING_SSL |
 | 
			
		||||
	                                 MIO_DEV_SCK_ACCEPTED)
 | 
			
		||||
};
 | 
			
		||||
typedef enum mio_dev_sck_state_t mio_dev_sck_state_t;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1042,7 +1042,15 @@ int mio_dev_watch (mio_dev_t* dev, mio_dev_watch_cmd_t cmd, int events)
 | 
			
		||||
	 * it's different from not hanving MIO_DEV_CAP_IN and MIO_DEV_CAP_OUT.
 | 
			
		||||
	 * a non-virtual device without the capabilities still gets attention
 | 
			
		||||
	 * of the system multiplexer for hangup and error. */
 | 
			
		||||
	if (dev->dev_cap & MIO_DEV_CAP_VIRTUAL) return 0;
 | 
			
		||||
	if (dev->dev_cap & MIO_DEV_CAP_VIRTUAL) 
 | 
			
		||||
	{
 | 
			
		||||
		/* UGLY HACK - you may start a device with VIRTUAL set upon creation when START is attempted.
 | 
			
		||||
		 *             later, if you mask off VIRTUAL, you may perform normal IO and call 
 | 
			
		||||
		 *             mio_dev_watch() with UPDATE. if SUSPENDED is set, UPDATE works */
 | 
			
		||||
		if (cmd == MIO_DEV_WATCH_START) dev->dev_cap |= MIO_DEV_CAP_WATCH_SUSPENDED;
 | 
			
		||||
		/* END UGLY HACK */
 | 
			
		||||
		return 0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/*ev.data.ptr = dev;*/
 | 
			
		||||
	dev_cap = dev->dev_cap & ~(DEV_CAP_ALL_WATCHED | MIO_DEV_CAP_WATCH_SUSPENDED); /* UGLY to use MIO_DEV_CAP_WATCH_SUSPENDED here */
 | 
			
		||||
@ -1064,7 +1072,7 @@ int mio_dev_watch (mio_dev_t* dev, mio_dev_watch_cmd_t cmd, int events)
 | 
			
		||||
			 * output watching is requested only if there're enqueued data for writing.
 | 
			
		||||
			 * if you want to enable input watching while renewing, call this function like this.
 | 
			
		||||
			 *  mio_dev_wtach (dev, MIO_DEV_WATCH_RENEW, MIO_DEV_EVENT_IN);
 | 
			
		||||
			 * if you want input whatching disabled while renewing, call this function like this. 
 | 
			
		||||
			 * if you want input watching disabled while renewing, call this function like this. 
 | 
			
		||||
			 *  mio_dev_wtach (dev, MIO_DEV_WATCH_RENEW, 0); */
 | 
			
		||||
			if (MIO_WQ_IS_EMPTY(&dev->wq)) events &= ~MIO_DEV_EVENT_OUT;
 | 
			
		||||
			else events |= MIO_DEV_EVENT_OUT;
 | 
			
		||||
@ -1091,7 +1099,6 @@ int mio_dev_watch (mio_dev_t* dev, mio_dev_watch_cmd_t cmd, int events)
 | 
			
		||||
	/* this function honors MIO_DEV_EVENT_IN and MIO_DEV_EVENT_OUT only
 | 
			
		||||
	 * as valid input event bits. it intends to provide simple abstraction
 | 
			
		||||
	 * by reducing the variety of event bits that the caller has to handle. */
 | 
			
		||||
 | 
			
		||||
	if ((events & MIO_DEV_EVENT_IN) && !(dev->dev_cap & (MIO_DEV_CAP_IN_CLOSED | MIO_DEV_CAP_IN_DISABLED)))
 | 
			
		||||
	{
 | 
			
		||||
		if (dev->dev_cap & MIO_DEV_CAP_IN) 
 | 
			
		||||
 | 
			
		||||
@ -79,7 +79,6 @@ enum mio_errnum_t
 | 
			
		||||
	MIO_ESYSERR,  /**< system error */
 | 
			
		||||
	MIO_EINTERN,  /**< internal error */
 | 
			
		||||
	MIO_ESYSMEM,  /**< insufficient system memory */
 | 
			
		||||
	MIO_EOOMEM,   /**< insufficient object memory */
 | 
			
		||||
 | 
			
		||||
	MIO_EINVAL,   /**< invalid parameter or data */
 | 
			
		||||
	MIO_ENOENT,   /**< data not found */
 | 
			
		||||
 | 
			
		||||
@ -4,21 +4,21 @@
 | 
			
		||||
    Copyright (c) 2016-2020 Chung, Hyung-Hwan. All rights reserved.
 | 
			
		||||
 | 
			
		||||
    Redistribution and use in source and binary forms, with or without
 | 
			
		||||
    modification, are permitted pipevided that the following conditions
 | 
			
		||||
    modification, are permitted provided that the following conditions
 | 
			
		||||
    are met:
 | 
			
		||||
    1. Redistributions of source code must retain the above copyright
 | 
			
		||||
       notice, this list of conditions and the following disclaimer.
 | 
			
		||||
    2. Redistributions in binary form must repipeduce the above copyright
 | 
			
		||||
    2. Redistributions in binary form must reproduce the above copyright
 | 
			
		||||
       notice, this list of conditions and the following disclaimer in the
 | 
			
		||||
       documentation and/or other materials pipevided with the distribution.
 | 
			
		||||
       documentation and/or other materials provided with the distribution.
 | 
			
		||||
 | 
			
		||||
    THIS SOFTWARE IS pipeVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
 | 
			
		||||
    THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
 | 
			
		||||
    IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WAfRRANTIES
 | 
			
		||||
    OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 | 
			
		||||
    IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 | 
			
		||||
    INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 | 
			
		||||
    NOT LIMITED TO, pipeCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 | 
			
		||||
    DATA, OR pipeFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 | 
			
		||||
    NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 | 
			
		||||
    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 | 
			
		||||
    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 | 
			
		||||
    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 | 
			
		||||
    THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
			
		||||
 | 
			
		||||
@ -1073,6 +1073,7 @@ fcntl (rdev->hnd, F_SETFL, flags | O_NONBLOCK);
 | 
			
		||||
			#if defined(USE_SSL)
 | 
			
		||||
				rdev->ssl_ctx = ssl_ctx;
 | 
			
		||||
			#endif
 | 
			
		||||
				/* set progress CONNECTING so that the ready handler invokes on_connect() */
 | 
			
		||||
				MIO_DEV_SCK_SET_PROGRESS (rdev, MIO_DEV_SCK_CONNECTING);
 | 
			
		||||
				return 0;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user