17dcf4feb5
raised the version number to 0.8.2
2019-03-06 14:48:19 +00:00
1ea5d38a83
fixed some bugs in hash macros
2019-03-05 13:04:44 +00:00
a02ad5005f
enhanced hash macros
2019-03-05 12:06:13 +00:00
0a405625ce
refined definition of stock hash functions
2019-03-05 08:30:49 +00:00
bda9213f86
placed basic hash macros in qse/hash.h
2019-03-05 08:21:01 +00:00
1aea9f4492
some use of sdbm hash
2019-03-01 09:27:03 +00:00
6463fbec12
changed the order of STRIPRECSPC and SUBSEP. no functional impact
2019-02-04 12:48:16 +00:00
98f726e2cc
added the global variable STRIPRECSPC.
...
fixed how to set rtx->gbl.ignorecase for IGNORECASE in set_global()
2019-02-04 12:20:16 +00:00
3fdddccde3
updated project url
2019-02-01 16:43:06 +00:00
044314daa8
switch to use SSL_new for checking openssl in configure.ac
2019-01-31 04:53:20 +00:00
f850f459c4
removed all aio* files. all relevant functions are available in a different project, mio
2019-01-23 08:58:47 +00:00
b2d3050d8b
changed the remote log socket to be non-blocking in sys::xxxlog()
2019-01-23 03:32:24 +00:00
f33518b964
changed sys::closelog() a bit
2019-01-22 16:15:56 +00:00
7fb03044e8
added remote syslogging to sys::openlog(), sys::writelog(), sys::closelog()
2019-01-22 09:41:00 +00:00
39e43d4201
improved signal handling in App
2019-01-21 15:12:01 +00:00
f91b85e0cf
compacted code a bit
2019-01-21 15:08:22 +00:00
2a3c9c182c
fixed a bug in sys::openlog()
2019-01-17 10:09:07 +00:00
59686d87a8
fixed an issue caused by a volatile identifier passsed to openlog()
2019-01-16 09:25:17 +00:00
4d78cd0a65
added sys::openlog(), sys::closelog(), sys::writelog()
2019-01-16 08:42:17 +00:00
448735d4cb
removed a few global variables including qse_awk_val_zero, qse_awk_val_one, qse_awk_val_negone. substituted QSE_AWK_VAL_ZERO/ONE/NEGONE marcos.
...
redefined QUICKINT related macros
2018-11-15 06:27:42 +00:00
d92d534986
fixed wrong indentation in awk.h
2018-11-04 03:27:52 +00:00
79b36ec07f
added some internal comments about Mmgr::getDFL()
2018-11-01 04:24:32 +00:00
ff78a340fb
changed Mmgr::getDFL() a bit
2018-10-31 12:52:19 +00:00
efc34cdd69
changed the position of the mmgr parameter in some constructors.
...
removed StdMmgr::getInstance() and initialized the default mmgr inside Mmgr::getDFL() to work around an issue related to c++ initialization order across translation units
2018-10-31 10:40:25 +00:00
b01cf731ca
added qse_initnwadwithip4ad(), qse_initnwadwithip6ad()
...
added SocketAddress::ipaddrToStrBuf()
2018-10-31 08:19:59 +00:00
7143a8ec8e
attemping to add qse_sched_yield()
2018-10-29 14:08:07 +00:00
388753fcba
fixed starvation in samples/si/spl01.c
2018-10-29 09:18:30 +00:00
2c02013ec1
changed qse_thr_setstacksize() to align the given value to the page size
2018-10-29 08:45:31 +00:00
38ffad3544
added QSE_FLTMAX_REQUIRE_QUADMATH to types.h
2018-10-29 05:08:03 +00:00
560aaf4e05
added -lqsesi to lib/rad/Makefile.am
2018-10-29 04:59:21 +00:00
ad073d3096
fixed some build files
2018-10-29 04:44:19 +00:00
50ee8cabcc
added qse_spl_trylock() for powerpc
2018-10-29 04:38:47 +00:00
9fd1dc5bc6
fixed some compiler feature check in macros.h
2018-10-28 17:33:48 +00:00
5c33c8d113
fixed sigset_t initializatino issue
2018-10-28 15:54:36 +00:00
21e289aca7
fixed a race condition issue in TcpServer::stop()
2018-10-28 15:49:46 +00:00
b57af4a2ef
added TcpServer::Worker::getSocket()
...
added SkvEnv::getItemList()
2018-10-28 14:55:47 +00:00
2d7ca5b5d0
removed :: before sigfillset as gcc on darwin ended up with errors
2018-10-27 10:18:01 +00:00
ebe0ac92bf
enhanced Socket::send where IP_SENDSRCADDR is available
2018-10-25 06:56:27 +00:00
b8ef500278
fixed some spacing
2018-10-24 14:58:14 +00:00
969a03b3c3
added Socket::send() that accepts the source address and sends with sendmsg with IP_PKTINFO/IP6_PKTINFO.
2018-10-24 08:41:56 +00:00
c56088d21a
fixed a bug in qse_dhcp6_find_option()
...
renamed SocketAddress::setIpaddr to setIp6addr/setIp4addr
2018-10-23 09:13:28 +00:00
95a41ab8a1
added Socket::getSockName() and Socket::getPeerName()
2018-10-23 03:51:47 +00:00
6130d3cdfe
excluded all netlink code from non-linux builds
2018-10-23 02:10:24 +00:00
41cb5bb869
restored include/qse/si/Makefile.in
2018-10-22 14:12:07 +00:00
f91e8c3170
added Socket::send() that accept a data vector
2018-10-22 14:10:37 +00:00
1e08cd4f65
added Socket::sendx() that accept a buffer vector and a destination address
2018-10-22 09:42:54 +00:00
83f800799d
fixed a wrong internal function name in netlink.c again
2018-10-22 03:54:38 +00:00
91a4b8b9b0
fixed a wrong internal function name in netlink.c
2018-10-22 03:53:18 +00:00
ea85e91391
corrected wrong use of O_CLOEXEC and FD_CLOEXEC in some files
2018-10-22 03:46:19 +00:00
54cd5401d5
added netlink files to Makefile.am
2018-10-22 02:27:34 +00:00
4d61e98172
copied netlink.h and netlink.c from musl
2018-10-21 16:53:41 +00:00
1758ba4e1e
fixed Sttp to return T_EOF when EOF is reached
2018-10-21 16:36:03 +00:00
942f33d8d4
added App::isGuardian()
2018-10-20 03:36:40 +00:00
5e35f69abb
added several functions into Socket that accepts a length-bounded interface name
2018-10-19 08:28:12 +00:00
1456f94bd1
fixed wrong #ifdefs in nwif.c
2018-10-18 23:46:50 +00:00
7762a0bc90
changed fcntl to ::fcntl in Socket.cpp
2018-10-18 23:35:56 +00:00
d533112788
added Socket::bindToIfce()
2018-10-18 23:29:20 +00:00
d3ed032636
added +int Socket::bindToIfceAddr()
2018-10-18 10:37:00 +00:00
05c2905a0a
added Socket::joinMulticastGroup() and Socket::leaveMulticastGroup()
2018-10-18 07:30:25 +00:00
72345c7280
changed length check in Socket::getIfceIfindex() functions
2018-10-17 15:21:48 +00:00
5b529ad535
added Socket::getIfceIndex(), Socket::getIfceAddress(), etc
2018-10-17 14:20:32 +00:00
4a10c5d7cd
added QSE_CLI_DISCRETIONARY_OPTVAL.
...
renamed QSE_CLI_OPTVAL to QSE_CLI_REQUIRE_OPTVAL
renamed QSE_CLI_OPTNAME to QSE_CLI_REQUIRE_OPTNAME
2018-10-17 08:07:45 +00:00
e936bf3502
added qse_ip6adxx_t with address classification functions
...
defined data types and routines and dhcpv6 messages
2018-10-16 15:59:24 +00:00
2915a591f0
added qse_str_to_ntime() and similar functions.
...
relocated cli error codes into the new enum type qse_cli_error_code_t
2018-10-16 15:53:08 +00:00
80ceed7bb2
fixed the name of the second parameter in declaration of qse_dhcp4_find_option()
2018-09-28 16:32:36 +00:00
5743a341cc
changed the second parameter of qse_awk_rtx_strtonum() to accept the base value on top of the 'strict' conversion bit.
...
enhanced awk's str::tonum() to accept the optional base parameter
2018-09-26 05:41:37 +00:00
eb79fa721f
removed unneeded semicolons at the back of qse_strxcat macros
2018-09-21 14:28:23 +00:00
a9d5a27d43
fixed more flaws in the sample programs
2018-09-18 09:15:31 +00:00
953bb70a56
fixed minor flaws in some sample programs
2018-09-18 09:02:00 +00:00
9f07886166
changed App::guardProcess() to return the number of respawn attempts, capped at INT_MAX
2018-09-17 10:11:57 +00:00
016e7da24a
added App::sleep()
2018-09-17 02:51:52 +00:00
3a66a8d927
redefined some time macros selectively
2018-09-16 17:04:00 +00:00
c467a28f18
renamed some signal handling functions in the App class
2018-09-13 06:51:48 +00:00
c09a0161eb
renamed qse_runmain() to qse_run_main()
2018-09-13 03:16:23 +00:00
0dd7cc2d65
enhanded guardProcess() with setpgid() and kill()
2018-09-11 15:11:48 +00:00
1218015572
stablized the signal functions in the App class
2018-09-10 14:15:28 +00:00
9764d448af
attempted to fix various problems related to signals in App
2018-09-09 17:22:16 +00:00
7bfba716f6
added basic methods to Bitset
2018-09-08 05:15:51 +00:00
1c996b5d95
added the initial BitSet class without actual code
2018-09-07 11:27:15 +00:00
5f29d1670f
improving signal handling of the App class
2018-09-06 09:59:54 +00:00
e8804b20ec
added a very simple App::guardProcess() function
2018-09-05 14:52:51 +00:00
6f314b0dd8
added mutex protection to input functions in sio
2018-09-05 14:06:19 +00:00
8bbef694f9
removed redundant tab letters
2018-09-04 15:10:15 +00:00
f93bf8d053
fixed bugs in mutex protection in sio.
...
added qse_open_stdsios_with_flags
2018-09-04 15:07:42 +00:00
cbe34cc526
added some code to sio to suppoert QSE_SIO_REENTRANT. not completed yet
2018-09-04 10:27:24 +00:00
82995c9f0d
fixed some bugs in the signal related functions of the QSE::App class
2018-09-04 08:46:48 +00:00
bb7a03bbc5
enhancled the App class to support per-instance signal handler
2018-08-31 09:39:12 +00:00
f6c60f3c46
added StrBase::isEmpty()
2018-08-16 07:15:36 +00:00
73567527f1
added qse_mtx_trylock() and QSE::Mutex::trylock()
2018-08-16 03:45:17 +00:00
0aca321aee
enhanced the json reader in xli to recognize a negative integer
2018-08-14 06:42:37 +00:00
52baa3222f
removed virtual from ~Sttp()
2018-07-20 14:56:00 +00:00
f104855427
added tcpsvr02.cpp
2018-07-20 14:52:34 +00:00
7755914a2c
renamed AppRoot to App
...
added App::setSignalHandler() and App::unsetSignalHandler()
2018-07-20 08:48:33 +00:00
f6c51b1a67
added Named.
...
removed unneeded lines from Transmittable.hpp
fixed include/qse/cmn/Makefile.am
2018-07-19 07:32:04 +00:00
3c85887ebc
added SttpCmd and Sttp
2018-07-18 04:35:41 +00:00
a346d27d5f
added the Condition class
2018-07-16 04:18:02 +00:00
b510d11c55
implemented value probing in SkvEnv
2018-07-14 17:05:08 +00:00
7a02450a5d
wrote some functions in SkvEnv using xli functions
2018-07-13 11:13:30 +00:00
eb35325a96
adding SkvEnv
2018-07-12 11:09:35 +00:00
1d9054af17
touched up TcpServer termination
2018-07-02 13:02:27 +00:00
d7a27d4a84
fixed a minor flaw in a sample program
2018-07-01 14:17:54 +00:00
029407b685
fixed the typo - E_NOERR to E_ENOMEM
2018-07-01 14:09:18 +00:00
0d675358aa
set error code in setWorkerHandler
2018-07-01 14:08:20 +00:00
d4444400f7
deleted an unneeded line
2018-07-01 14:04:07 +00:00
797518df18
rename QSE::TcpServer::Client to QSE::TcpServer::Worker.
...
added code to generate unique worker id
2018-07-01 13:57:37 +00:00
3d5d9aebfb
migrated Mutex to Mutex.hpp
2018-07-01 12:43:56 +00:00
0cbdf10332
added Mutex.
...
added QSE_CPP_THREXCEPT1() and similar macros
changed the termination code of TcpServer
2018-07-01 11:21:00 +00:00
1a102644ed
prevented HeapMmgr::allocMem() and HeapMmgr::reallocMem() from thrown an exception
2018-07-01 07:59:06 +00:00
9ff9cb1d55
fixed the wrong call to QSE_CPP_CALL_DESTRUCTOR to QSE_CPP_DELETE_WITH_MMGR
2018-07-01 07:37:01 +00:00
9cbd6cd7fe
fixed the code to call the destructor when dispoing an object with mmgr
2018-07-01 07:33:56 +00:00
87e0cf1b40
initialized client_list in TcpServer with mmgr
2018-07-01 04:18:23 +00:00
c4e66a102a
fixed part of code left out in the previous commit
2018-07-01 02:20:03 +00:00
27039d9693
got TcpServer and Thread to inherit Mmged
2018-07-01 02:11:33 +00:00
1d12ec3e3f
changed configure.ac to test __int128_t in va_arg
2018-06-29 16:48:20 +00:00
51f61a31b6
on netbsd, the accepted socket inherited O_NONBLOCK if the accepting socket has it. i made changes to prevent this
2018-06-29 04:53:28 +00:00
8ce9ff41a0
enhanced qse_mux_poll() to accept QSE_NULL for timeout to wait indefinitely
...
made TcpServer more robust
2018-06-28 14:07:35 +00:00
20e042df0c
work in progress to replace epoll with qse_mux_t
2018-06-28 09:43:34 +00:00
40cdf684de
switched to use a spin lock on behalf of a mutex
2018-06-28 04:08:43 +00:00
6519b1e4db
added SocketAddress::toStrBuf().
...
protected client socket closure with mutex
2018-06-27 11:18:20 +00:00
afe36ac593
finished QSE::TcpServerL
2018-06-27 08:53:51 +00:00
19df0af32a
fixed TcpServer to close pipes properly upon termination
2018-06-26 15:45:44 +00:00
b2f9abef77
fixed quite a few issues in TcpServer
2018-06-26 15:27:52 +00:00
d7bdc63690
adding multiple listeners into TcpServer
2018-06-26 14:43:43 +00:00
eb2755fa6b
interim update while working TcpServer
2018-06-26 09:28:12 +00:00
d6b9e78114
removed the bundled libltdl
2018-06-26 08:30:02 +00:00
a51e54bda6
TcpServer now compilable at least
2018-06-25 15:52:05 +00:00
26bf5f1a6e
fixed a wrong prototype name qse_sio_getmc() to qse_sio_getmb()
2018-06-25 13:35:25 +00:00
bdf1ab2234
reverted unwanted changes
2018-06-25 10:51:24 +00:00
26e27e78cd
work in progress. adding TcpServer
2018-06-25 10:47:27 +00:00
70c787de9f
removed special handling of $ in qse_strsubst() as literal $ can be denoted by 11789
2018-04-03 09:33:50 +00:00
5c297d784a
fixed some issues in socket address conversion
2018-03-25 03:05:12 +00:00
598f4f0457
included more header files in nwad-skad.c
2018-03-07 13:26:21 +00:00
9d87420bf6
added Socket::sendx() functions
...
added SocketAddress::set() that accepts a string
fixed a bug in nwad-skad.c
2018-03-07 09:18:36 +00:00
3613919dc1
reverted the kt workaround
2018-02-22 17:22:50 +00:00
3cbde90f70
raised the version number to 0.8.0
2018-02-09 10:38:12 +00:00
1e473ed089
fixed the gnuc condition for visibility attribute
2018-02-01 13:13:58 +00:00
46cd39cabb
changed configure.ac to check the offset of sa_family in struct sockaddr
2018-02-01 09:34:12 +00:00
b7e540d6cf
added some more code to spl.h
2018-01-31 14:50:40 +00:00
be51ae8e61
added spl.h
...
changed SpinLock.hpp to use spl.h
2018-01-31 10:34:38 +00:00
4eff683036
added noexcept specifier to functions in SpinLock.hpp
2018-01-30 08:43:15 +00:00
d0bb9ae911
added some checks for compiler builtins.
...
enhanced SpinLock code
2018-01-30 08:33:45 +00:00
3a9e278f0b
added --enable-wchar-prefer-char16
2018-01-30 04:17:26 +00:00
2fbfe3a71b
changed to prefer char16_t with c11 compiler. yet to add --prefer-char16 option to configure.ac
2018-01-29 15:38:32 +00:00
11d1344b70
added an experimental SpinLock class
2018-01-29 10:21:54 +00:00
ab98ce632e
removed a redundant work from Thread.hpp
2018-01-29 09:29:46 +00:00
2a1cda7981
added QSE::ThreadL
2018-01-29 09:25:47 +00:00
8e78356337
renamed ThreadC to ThreadF
2018-01-29 05:02:51 +00:00
57201a2af3
added a move contructor to ThreadC
2018-01-29 05:01:47 +00:00
c274cc0fb4
checked O_CLOEXEC availibility
2018-01-28 05:17:42 +00:00
4243665288
removed an unused variable in htl.c
2018-01-28 04:58:56 +00:00