merged sys and io to si

This commit is contained in:
hyung-hwan 2016-04-28 14:33:10 +00:00
parent 3c5b45571e
commit 49d3dcfeda
50 changed files with 147 additions and 78 deletions

View File

@ -783,16 +783,14 @@ AC_CONFIG_FILES([
include/Makefile
include/qse/Makefile
include/qse/cmn/Makefile
include/qse/sys/Makefile
include/qse/io/Makefile
include/qse/si/Makefile
include/qse/awk/Makefile
include/qse/sed/Makefile
include/qse/xli/Makefile
include/qse/http/Makefile
lib/Makefile
lib/cmn/Makefile
lib/sys/Makefile
lib/io/Makefile
lib/si/Makefile
lib/awk/Makefile
lib/sed/Makefile
lib/xli/Makefile
@ -809,7 +807,7 @@ AC_CONFIG_FILES([
cmd/http/Makefile
samples/Makefile
samples/cmn/Makefile
samples/sys/Makefile
samples/si/Makefile
samples/awk/Makefile
samples/sed/Makefile
samples/http/Makefile

View File

@ -1,13 +1,21 @@
pkgincludedir = $(includedir)/qse/sys
pkginclude_HEADERS = \
aio.h \
aio-pro.h \
aio-sck.h
cnd.h \
fio.h \
intr.h \
mtx.h \
mux.h \
nwio.h \
pio.h \
rwl.h \
sio.h \
task.h \
thr.h
thr.h \
tio.h
if ENABLE_CXX
pkginclude_HEADERS += \

View File

@ -1,4 +1,4 @@
SUBDIRS = cmn sys io sed awk xli http
SUBDIRS = cmn si sed awk xli http
DIST_SUBDIRS = $(SUBDIRS)
pkgconfigdir = $(libdir)/pkgconfig

View File

@ -39,6 +39,7 @@
# include <windows.h>
#elif defined(__OS2__)
# define INCL_DOSPROCESS
# define INCL_DOSFILEMGR
# include <os2.h>
#elif defined(__DOS__)
# include <dos.h>
@ -78,7 +79,7 @@ void qse_assert_failed (
qse_char_t tmp[1024];
qse_strxfmt (tmp, QSE_COUNTOF(tmp),
QSE_T("FILE %s LINE %lu - %s%s%s"),
QSE_T("[FILE %s LINE %lu]\r\n%s%s%s"),
file, line, expr,
(desc? QSE_T("\n\n"): QSE_T("")),
(desc? desc: QSE_T(""))
@ -90,53 +91,84 @@ void qse_assert_failed (
qse_char_t tmp[1024];
DWORD written;
WriteConsole (stderr, QSE_T("[ASSERTION FAILURE]\r\n"), 21, &written, STIO_NULL);
WriteConsole (stderr, QSE_T("[ASSERTION FAILURE]\r\n"), 21, &written, QSE_NULL);
qse_strxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("FILE %s LINE %lu\r\n"), file, (unsigned long)line);
WriteConsole (stderr, tmp, qse_strlen(tmp), &written, STIO_NULL);
qse_strxfmt (tmp, QSE_COUNTOF(tmp), QSE_T("[FILE %s LINE %lu]\r\n"), file, (unsigned long)line);
WriteConsole (stderr, tmp, qse_strlen(tmp), &written, QSE_NULL);
WriteConsoel (stderr, QSE_T("[EXPRESSION] "), 13, &written, STIO_NULL);
WriteConsole (stderr, expr, qse_strlen(expr), &written, STIO_NULL);
WriteConsole (stderr, QSE_T("\r\n"), 2, &written, STIO_NULL);
WriteConsole (stderr, QSE_T("[EXPRESSION] "), 13, &written, QSE_NULL);
WriteConsole (stderr, expr, qse_strlen(expr), &written, QSE_NULL);
WriteConsole (stderr, QSE_T("\r\n"), 2, &written, QSE_NULL);
if (desc)
{
WriteConsole (stderr, QSE_T("[DESCRIPTION] "), 14, &written, STIO_NULL);
WriteConsole (stderr, desc, qse_strlen(desc), &written, STIO_NULL);
WriteConsole (stderr, QSE_T("\r\n"), 2, &written, STIO_NULL);
WriteConsole (stderr, QSE_T("[DESCRIPTION] "), 14, &written, QSE_NULL);
WriteConsole (stderr, desc, qse_strlen(desc), &written, QSE_NULL);
WriteConsole (stderr, QSE_T("\r\n"), 2, &written, QSE_NULL);
}
}
#elif defined(__OS2__)
HFILE stderr = (HFILE)2;
USHORT written;
ULONG written;
qse_mchar_t tmp[1024];
DosWrite (stderr, QSE_T("[ASSERTION FAILURE]\r\n"), 21, &written);
#if defined(QSE_CHAR_IS_MCHAR)
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("FILE %hs LINE %lu\n"), file, (unsigned long)line);
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("FILE %hs LINE %lu\r\n"), file, (unsigned long)line);
#else
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("FILE %ls LINE %lu\n"), file, (unsigned long)line);
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("FILE %ls LINE %lu\r\n"), file, (unsigned long)line);
#endif
DosWrite (stderr, tmp, qse_mbslen(tmp), &written);
#if defined(QSE_CHAR_IS_MCHAR)
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("[EXPRESSION] %hs\n"), expr);
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("[EXPRESSION] %hs\r\n"), expr);
#else
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("[EXPRESSION] %ls\n"), expr);
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("[EXPRESSION] %ls\r\n"), expr);
#endif
DosWrite (stderr, tmp, qse_mbslen(tmp), &written);
if (desc)
{
#if defined(QSE_CHAR_IS_MCHAR)
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("[DESCRIPTION] %hs\n"), desc);
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("[DESCRIPTION] %hs\r\n"), desc);
#else
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("[DESCRIPTION] %ls\n"), desc);
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("[DESCRIPTION] %ls\r\n"), desc);
#endif
DosWrite (stderr, tmp, qse_mbslen(tmp), &written);
}
#elif defined(__DOS__)
int stderr = 2;
qse_mchar_t tmp[1024];
write (stderr, QSE_T("[ASSERTION FAILURE]\r\n"), 21);
#if defined(QSE_CHAR_IS_MCHAR)
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("FILE %hs LINE %lu\r\n"), file, (unsigned long)line);
#else
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("FILE %ls LINE %lu\r\n"), file, (unsigned long)line);
#endif
write (stderr, tmp, qse_mbslen(tmp));
#if defined(QSE_CHAR_IS_MCHAR)
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("[EXPRESSION] %hs\r\n"), expr);
#else
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("[EXPRESSION] %ls\r\n"), expr);
#endif
write (stderr, tmp, qse_mbslen(tmp));
if (desc)
{
#if defined(QSE_CHAR_IS_MCHAR)
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("[DESCRIPTION] %hs\r\n"), desc);
#else
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("[DESCRIPTION] %ls\r\n"), desc);
#endif
write (stderr, tmp, qse_mbslen(tmp));
}
#elif defined(macintosh)
/* note 'desc' is not used for macintosh at this moment.
* TODO: include 'desc' in the message */
@ -168,8 +200,8 @@ void qse_assert_failed (
WHAT TO DO????
*/
#else
#else
static qse_mchar_t* static_msg[] =
{
QSE_MT("=[ASSERTION FAILURE]============================================================\n"),

View File

@ -108,13 +108,14 @@ typedef struct qse_wfmtout_t qse_wfmtout_t;
extern "C" {
#endif
int qse_mfmtout (
/* QSE_EXPORTed, but keep in it the private header for used by other libraries in QSE */
QSE_EXPORT int qse_mfmtout (
const qse_mchar_t* fmt,
qse_mfmtout_t* data,
va_list ap
);
int qse_wfmtout (
QSE_EXPORT int qse_wfmtout (
const qse_wchar_t* fmt,
qse_wfmtout_t* data,
va_list ap

View File

@ -182,6 +182,8 @@ int qse_initsckconn (qse_sck_hnd_t handle, const qse_nwad_t* nwad)
int n;
#if defined(_WIN32)
unsigned long cmd;
#elif defined(__OS2__)
int enabled;
#else
int saved = 0;
#endif
@ -204,13 +206,30 @@ int qse_initsckconn (qse_sck_hnd_t handle, const qse_nwad_t* nwad)
n = connect (handle, (struct sockaddr*)&skad, skadlen);
if (n == -1 && WSAGetLastError() != WSAEWOULDBLOCK)
{
/* attemp to restore to the blocking mode upon failure.
/* attempt to restore to the blocking mode upon failure.
* there is no guarantee that this was the previous mode. */
cmd = 0;
ioctlsocket (handle, FIONBIO, &cmd);
return -1;
}
#elif defined(__OS2__)
enabled = 1;
if (ioctl (handle, FIONBIO, (char*)&enabled, sizeof(enabled)) <= -1) return -1;
/* attempt to connet */
n = connect (handle, (struct sockaddr*)&skad, skadlen);
if (n == -1 && sock_errno() != EINPROGRESS)
{
/* attempt to restore to the blocking mode upon failure.
* there is no guarantee that this was the previous mode. */
enabled = 0;
ioctl (handle, FIONBIO, (char*)&enabled, sizeof(enabled));
return -1;
}
#else
/* switch to the non-blocking mode */
saved = fcntl (handle, F_GETFL, 0);
if (saved == -1) return -1;
@ -242,7 +261,7 @@ int qse_finisckconn (qse_sck_hnd_t handle)
len = (qse_sck_len_t)QSE_SIZEOF (ret);
if (getsockopt (handle, SOL_SOCKET, SO_ERROR, (char*)&ret, &len) == -1) return -1;
#ifdef _WIN32
#if defined(_WIN32)
if (ret == WSAETIMEDOUT)
#else
if (ret == ETIMEDOUT)
@ -250,7 +269,7 @@ int qse_finisckconn (qse_sck_hnd_t handle)
{
return -1; /* failure - timed out */
}
#ifdef _WIN32
#if defined(_WIN32)
else if (ret == WSAEWOULDBLOCK)
#else
else if (ret == EINPROGRESS)

40
qse/lib/si/Makefile.am Normal file
View File

@ -0,0 +1,40 @@
AUTOMAKE_OPTIONS = nostdinc
AM_CPPFLAGS = \
-I$(top_builddir)/include \
-I$(top_srcdir)/include
lib_LTLIBRARIES = libqsesi.la
libqsesi_la_SOURCES = \
aio-prv.h \
aio.c \
aio-pro.c \
aio-sck.c \
aio-tmr.c \
cnd.c \
fio.c \
intr.c \
mtx.c \
mux.c \
nwio.c \
pio.c \
rwl.c \
sio.c \
task.c \
thr.c \
thr.h \
tio.c
libqsesi_la_CFLAGS = $(PTHREAD_CFLAGS)
libqsesi_la_LDFLAGS = -L../cmn -version-info 1:0:0 -no-undefined
libqsesi_la_LIBADD = -lqsecmn $(PTHREAD_LIBS)
if ENABLE_CXX
lib_LTLIBRARIES += libqsesixx.la
libqsesixx_la_SOURCES = \
SocketAddress.cpp \
Socket.cpp
libqsesixx_la_LDFLAGS = -L. -L../cmn -version-info 1:0:0 -no-undefined
libqsesixx_la_LIBADD = -lqsecmnxx -lqsecmn
endif

View File

@ -24,7 +24,7 @@
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <qse/sys/Socket.hpp>
#include <qse/si/Socket.hpp>
/////////////////////////////////
QSE_BEGIN_NAMESPACE(QSE)

View File

@ -25,7 +25,7 @@
*/
#include <qse/sys/SocketAddress.hpp>
#include <qse/si/SocketAddress.hpp>
#include "../cmn/mem.h"
#if defined(_WIN32)

View File

@ -24,7 +24,7 @@
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <qse/io/aio-pro.h>
#include <qse/si/aio-pro.h>
#include "aio-prv.h"
#include <qse/cmn/str.h>

View File

@ -25,7 +25,7 @@
*/
#include <qse/io/aio-sck.h>
#include <qse/si/aio-sck.h>
#include "aio-prv.h"
#include <qse/cmn/hton.h>

View File

@ -24,7 +24,7 @@
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <qse/sys/cnd.h>
#include <qse/si/cnd.h>
#include "../cmn/mem.h"
#if (!defined(__unix__) && !defined(__unix)) || defined(HAVE_PTHREAD)

View File

@ -24,7 +24,7 @@
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <qse/io/fio.h>
#include <qse/si/fio.h>
#include <qse/cmn/str.h>
#include <qse/cmn/fmt.h>
#include <qse/cmn/alg.h>

View File

@ -24,7 +24,7 @@
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <qse/sys/intr.h>
#include <qse/si/intr.h>
#if defined(_WIN32)
# include <windows.h>

View File

@ -24,7 +24,7 @@
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <qse/sys/mtx.h>
#include <qse/si/mtx.h>
#include "../cmn/mem.h"
#if (!defined(__unix__) && !defined(__unix)) || defined(HAVE_PTHREAD)

View File

@ -24,7 +24,7 @@
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <qse/sys/mux.h>
#include <qse/si/mux.h>
#include "../cmn/mem.h"
#if defined(_WIN32)

View File

@ -24,7 +24,7 @@
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <qse/io/nwio.h>
#include <qse/si/nwio.h>
#include <qse/cmn/time.h>
#include "../cmn/mem.h"

View File

@ -24,7 +24,7 @@
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <qse/io/pio.h>
#include <qse/si/pio.h>
#include <qse/cmn/mbwc.h>
#include "../cmn/mem.h"

View File

@ -24,7 +24,7 @@
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <qse/sys/rwl.h>
#include <qse/si/rwl.h>
#include "../cmn/mem.h"
qse_rwl_t* qse_rwl_open (qse_mmgr_t* mmgr, qse_size_t xtnsize, int flags)

View File

@ -24,7 +24,7 @@
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <qse/io/sio.h>
#include <qse/si/sio.h>
#include <qse/cmn/mbwc.h>
#include "../cmn/mem.h"
#include "../cmn/fmt.h"

View File

@ -24,7 +24,7 @@
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <qse/sys/task.h>
#include <qse/si/task.h>
#include "../cmn/mem.h"
#if defined(_WIN64)

View File

@ -27,7 +27,7 @@
#ifndef _QSE_LIB_CMN_THR_H_
#define _QSE_LIB_CMN_THR_H_
#include <qse/sys/thr.h>
#include <qse/si/thr.h>
#if (!defined(__unix__) && !defined(__unix)) || defined(HAVE_PTHREAD)

View File

@ -25,7 +25,7 @@
*/
#include "thr.h"
#include "thr-prv.h"
#include "../cmn/mem.h"
#include <qse/cmn/time.h>
#include <stdarg.h>

View File

@ -24,7 +24,7 @@
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <qse/io/tio.h>
#include <qse/si/tio.h>
#include <qse/cmn/mbwc.h>
#include "../cmn/mem.h"

View File

@ -1,29 +0,0 @@
AUTOMAKE_OPTIONS = nostdinc
AM_CPPFLAGS = \
-I$(top_builddir)/include \
-I$(top_srcdir)/include
lib_LTLIBRARIES = libqsesys.la
libqsesys_la_SOURCES = \
cnd.c \
intr.c \
mtx.c \
mux.c \
rwl.c \
task.c \
thr.c \
thr.h
libqsesys_la_CFLAGS = $(PTHREAD_CFLAGS)
libqsesys_la_LDFLAGS = -L../cmn -version-info 1:0:0 -no-undefined
libqsesys_la_LIBADD = -lqsecmn $(PTHREAD_LIBS)
if ENABLE_CXX
lib_LTLIBRARIES += libqsesysxx.la
libqsesysxx_la_SOURCES = \
SocketAddress.cpp \
Socket.cpp
libqsesysxx_la_LDFLAGS = -L. -L../cmn -version-info 1:0:0 -no-undefined
libqsesysxx_la_LIBADD = -lqsecmnxx -lqsecmn
endif

View File

@ -8,9 +8,9 @@ AM_CPPFLAGS = \
bin_PROGRAMS = \
rwl01
AM_LDFLAGS = -L../../lib/sys -L../../lib/cmn
AM_LDFLAGS = -L../../lib/si -L../../lib/cmn
AM_CFLAGS = $(PTHREAD_CFLAGS)
LDADD = -lqsesys -lqsecmn $(PTHREAD_LIBS)
LDADD = -lqsesi -lqsecmn $(PTHREAD_LIBS)
if WIN32
if WCHAR