libqb/lib
Jan Friesse 48fff5eb58
Implement heap based timer list (#439)
* tlist: Add heap based implementation of timer list

Previous timer was sorted list implementation of priority queue
and very slow when number of timers increased. This is mostly
not a problem because usually only few timers are used.
But for application where bigger number of timers are needed
it may become problem.

Solution is to use binary heap based priority queue which is much
faster.

API is unchanged, just timerlist_destroy is added which should be called
to free heap array. This function also destroys mutex (omitted when
mutex was added).

* tests: Fix check loop mt test

test_th was accesed both by main thread and loop_timer thread resulting in
failure. Fix is to access test_tht in loop_timer thread.

Speed test is adding only 10000 items so it is reasonable
fast even with sorted linked list implementation.

Signed-off-by: Jan Friesse <jfriesse@redhat.com>
2021-03-18 07:27:25 +00:00
..
.gitignore Cleanup the .gitignore files 2012-05-09 21:43:58 +10:00
array.c array: More locking fixes (#400) 2020-06-08 14:16:58 +01:00
atomic_int.h Add internal support for the new __atomic gcc builtins 2013-05-13 10:15:55 +10:00
hashtable.c Add the processing which remove notifier at skiplist_destroy function 2013-01-15 01:57:29 +09:00
hdb.c warnings cleanup: Wsign-compare: hdb: uint32_t <-> int32_t 2017-12-20 22:19:17 +01:00
ipc_int.h ipc: add qb_ipcc_auth_get() API call (#418) 2020-09-28 09:53:21 +01:00
ipc_setup.c cov: Quieten some covscan warnings (#427) 2020-12-03 09:39:28 +00:00
ipc_shm.c ipcc: Have a few goes at tidying up after a dead server (#434) 2021-01-25 12:19:10 +00:00
ipc_socket.c cov: Quieten some covscan warnings (#427) 2020-12-03 09:39:28 +00:00
ipcc.c ipc: add qb_ipcc_auth_get() API call (#418) 2020-09-28 09:53:21 +01:00
ipcs.c ipcs : Decrease log level. (#426) 2020-12-03 11:33:30 +00:00
libqb.pc.in Add Pthreads (and possibly other) flags to the pkg-config file (#332) 2018-12-13 08:25:57 +00:00
log_blackbox.c lib: Fix some minor warnings from newer compilers 2019-12-11 11:14:47 +00:00
log_dcs.c syslog: Add a message-id parameter for messages (#433) 2021-03-01 15:58:50 +00:00
log_file.c Add the option of hi-res (millisecond) timestamps (#329) 2018-11-09 09:56:44 +00:00
log_format.c lib: Fix some minor warnings from newer compilers 2019-12-11 11:14:47 +00:00
log_int.h syslog: Add a message-id parameter for messages (#433) 2021-03-01 15:58:50 +00:00
log_syslog.c syslog: Add a message-id parameter for messages (#433) 2021-03-01 15:58:50 +00:00
log_thread.c log: Fix threading races (#396) 2020-06-01 15:41:26 +01:00
log.c syslog: Add a message-id parameter for messages (#433) 2021-03-01 15:58:50 +00:00
loop_int.h LOOP: make it possible to pass in NULL as the default loop instance 2012-02-10 14:47:49 +11:00
loop_job.c Unify the list processing with qb_list function 2013-01-09 02:04:20 +09:00
loop_poll_epoll.c maint: replace 0xffffffff constants with UNIT32_MAX 2017-12-20 22:17:07 +01:00
loop_poll_int.h POLL: seperate out the poll/epoll and add kqueue 2012-04-04 00:26:20 +10:00
loop_poll_kqueue.c ipc: Remove kqueue EOF log message 2019-06-27 13:19:08 +01:00
loop_poll_poll.c POLL: seperate out the poll/epoll and add kqueue 2012-04-04 00:26:20 +10:00
loop_poll.c maint: replace 0xffffffff constants with UNIT32_MAX 2017-12-20 22:17:07 +01:00
loop_timerlist.c Implement heap based timer list (#439) 2021-03-18 07:27:25 +00:00
loop.c Low: loop: don't bring runtime down for a trivial API misuse 2017-06-06 14:04:46 +01:00
Makefile.am release: bump library version for 2.0.3 release 2021-03-03 08:32:09 +00:00
map_int.h PTRIE: refcount the notifier structs 2012-01-25 16:09:32 +11:00
map.c MAP: add a notifier purely to allow the user to free memory. 2011-12-14 00:26:01 +11:00
qblog_script_noop.ld High: bare fix for libqb logging not working with ld.bfd/binutils 2.29+ 2017-12-12 23:23:35 +01:00
qblog_script.la.in High: bare fix for libqb logging not working with ld.bfd/binutils 2.29+ 2017-12-12 23:23:35 +01:00
qblog_script.ld.in High: bare fix for libqb logging not working with ld.bfd/binutils 2.29+ 2017-12-12 23:23:35 +01:00
ringbuffer_helper.c Med: rb: use new qb_rb_close_helper able to resort to file truncating 2016-11-04 19:05:35 +01:00
ringbuffer_int.h Med: rb: use new qb_rb_close_helper able to resort to file truncating 2016-11-04 19:05:35 +01:00
ringbuffer.c Some bugs spotted by coverity (#399) 2020-05-28 07:30:26 +01:00
rpl_sem.c rpl_sem: make destroy more compliant 2013-02-19 12:40:06 +11:00
rpl_sem.h rpl_sem: make destroy more compliant 2013-02-19 12:40:06 +11:00
skiplist.c skiplist: Fix previous skiplist fix 2018-12-12 16:17:59 +01:00
strchrnul.c Use safer versions of string functions (strcpy -> strlcpy) 2012-02-08 22:00:49 +11:00
strlcat.c Fix strlcpy and strlcat functions 2012-12-19 10:42:08 +11:00
strlcpy.c strlcpy: Check for maxlen underflow (#432) 2021-01-13 14:12:02 +00:00
trie.c trie: Don't assume that chars are unsigned < 126 (#386) 2020-03-09 08:14:39 +00:00
unix.c ipcs: ftruncate is not support on WIN32 (#424) 2020-10-05 08:08:48 +01:00
util_int.h Fix typos: in{ -> s}tance, d{e -> i}stinguished 2017-06-06 14:04:46 +01:00
util.c Low: fix internal object symbol's leak & expose run-time lib version 2017-12-12 23:23:46 +01:00