Hi all
I am pleased to announce libqb 0.4.0.
This release includes alot of fixes in IPC and the main loop.
This has been mainly to get corosync into a "happy place" :)
You can find the releases from the main page of
www.libqb.org.
The changelog is below for convience.
Regards
Angus Salkeld
===================================================
Angus Salkeld (68):
TEST: add some more array tests.
LINT: get the lint target working.
IPC: remove sprintf where possible
ATOMIC: fix the memory barrier setup.
TEST: add glib mainloop option to bms
IPC: add stats to server end.
IPC: add a connection iterator.
fix some build issues on FreeBSD
Fix or ignore splint errors
IPC: add job_add() API to the poll abstraction.
RB: improve debug message
TIME: move tlist_nano_ functions into util
IPC: add qb_ipcs_response_sendv()
IPC: add server connection states for better shutdown.
LOOP: fix job poll and simplify main loop
LOOP: add qb_loop_destroy()
TEST: make test ouput more verbose
IPC: remove refcount'ing debug
LOOP: add support for timerfd
UTIL: move mmap helpers into private header
Cleanup config defines & add a check_all script
TEST: add a check_resources script
RB: don't be so timid on shutdown
IPC: add flow control & q_len to unix socket transport.
Fix ./check_all
IPC: change service instance from handle to pointer.
IPC: add connection_closed() callback.
LOOP: prevent high cpu utilization on no load.
LOOP: add signal support to main loop
UTIL: check for shm usable space.
RB: check for NULL on close
TLIST: use qb_util_nano_monotonic_hz() instead of HZ
IPC: withdraw server socket when destroying a service.
LOOP: add some debug to log slow jobs
LOOP: prevent timers from deleting them selves.
IPC: remove try again log message
Fix some error handling in RB & IPC
RB: fix munmap size (else shared mem not freed correctly)
LOOP: move pipe creation into qb_loop_signals_create()
LOOP: fix compile warning when we don't have timerfd.
Fix some freeBSD compile warnings.
fix waring produced by -Wp,-D_FORTIFY_SOURCE=2
IPC: export qb_ipcs_disconnect()
IPCS: don't block on sending socket notification
LOOP: remove unneccessary event array
IPC: fix non-blocking event mechanism
IPC: check for null ringbuffer
Remove carriage returns in qb_util_log() calls.
TESTS: add a test case for recving from a failed server
IPC: return -ENOTCONN when the other end exits
IPC: return EAGAIN from qb_ipcc_recv() if recv_ready() returns 0
DOCS: fix some doxygen warnings for missing comments.
LOOP: change timers to be nano second based
DOCS: set the version from a configure variable
IPC: rename _ref_inc() to _ref()
IPC: return the correct number of bytes sent
IPC: improve shm performance by timing out earlier on poll()
IPC: add a timeout to the client recv functions
TEST: add ipc tests for recv's with a timeout
RB: add a function to get the reference count.
IPC: use rb refcount to check for "connectiveness"
LOOP: add per-level todo counters
LOOP: change entry type enum
LOOP: reduce the number of for loops
LOOP: make static functions like _<name>_()
TESTS: make sure timers are not leaking file descriptors
LOOP: remove tlist absolute timer
LOOP: change timer handle from pointer to index + check.
The Quarterback Library Release Team (1):
Bump version to 0.4.0
.gitignore | 1 +
Makefile.am | 4 -
check_all | 37 ++
configure.ac | 177 +++++-----
docs/html.dox.in | 2 +-
docs/man.dox.in | 2 +-
include/os_base.h | 42 +++
include/qb/qbarray.h | 2 +
include/qb/qbatomic.h | 16 +-
include/qb/qbdefs.h | 4 +
include/qb/qbipcc.h | 9 +-
include/qb/qbipcs.h | 183 +++++++++-
include/qb/qbloop.h | 77 ++++-
include/qb/qbrb.h | 15 +-
include/qb/qbutil.h | 43 ++-
include/tlist.h | 108 +-----
lib/Makefile.am | 31 ++-
lib/array.c | 11 +-
lib/atomic_lock.c | 15 +
lib/hdb.c | 2 +-
lib/ipc_int.h | 37 +-
lib/ipc_posix_mq.c | 18 +-
lib/ipc_shm.c | 88 +++--
lib/ipc_sysv_mq.c | 11 +-
lib/ipc_us.c | 298 ++++++++++-----
lib/ipcc.c | 106 ++++--
lib/ipcs.c | 442 ++++++++++++++++-------
lib/loop.c | 109 ++++---
lib/loop_int.h | 36 ++-
lib/loop_job.c | 38 ++-
lib/loop_poll.c | 904 +++++++++++++++++++++++++++++++++++++++-------
lib/loop_timer.c | 136 -------
lib/loop_timerlist.c | 255 +++++++++++++
lib/ringbuffer.c | 55 ++-
lib/ringbuffer_helper.c | 20 +-
lib/util.c | 189 +++++++++--
lib/util_int.h | 30 ++
tests/.gitignore | 1 +
tests/Makefile.am | 14 +-
tests/bmc.c | 26 +--
tests/bmcpt.c | 21 +-
tests/bms.c | 203 +++++++++--
tests/check_array.c | 106 ++++--
tests/check_ipc.c | 179 ++++++++--
tests/check_loop.c | 441 ++++++++++++++++++++++
tests/check_rb.c | 33 +-
tests/check_resources.sh | 19 +
tests/loop.c | 40 ++-
tests/rbreader.c | 4 +-
tests/rbwriter.c | 4 +-
50 files changed, 3524 insertions(+), 1120 deletions(-)