timefd is using too much cpu and it is using up
file descriptors.
timelist is also more portable and now I have less
code to maintain.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
I like the automake options (and encourage other developers to
install the neccessary autotools).
Here is a handy script to install the newest autotools
into a private directory (if you can't get them pre-packaged).
http://people.redhat.com/meyering/autotools-install
autotools-install --prefix=$HOME/autotools --skip-check
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
Autoconf warned about this:
configure.ac:72: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE\
call detected in body
That's warning about the use via AC_COMPILE_IFELSE without
specifying a language. The easiest way to work around that is
to avoid the use of CC altogether and instead to use the preprocessor.
* configure.ac (cc_supports_flag): Use AC_PREPROC_IFELSE in place
of AC_COMPILE_IFELSE (and CPPFLAGS in place of CFLAGS).
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
I ran "make check" in libqb and watched impatiently ;-)
as the tests ran in serial on my multi-core system.
If you add automake's "parallel-tests" option below, they'll
run in parallel.
The color-tests option makes it so the "PASS" and "FAIL" words
are colored green and red respectively. Nice, but no big deal.
Similarly nice-to-have is the "dist-xz" option.
That makes is so when you run "make dist" it creates xz-compressed
tarballs in addition to the usual gzip-compressed ones.
The advantage of also using xz is that it compresses significantly better:
$ du -sh *z
1.2M libqb-0.4.1.75-3737-dirty.tar.gz
812K libqb-0.4.1.75-3737-dirty.tar.xz
Now, whenever a project releases both gzip-compressed and
xz-compressed tarballs, I always download only the latter, smaller ones.
Not only does it save time on the download (minimal in this case),
but it occupies less space on disk and uncompresses faster.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
This finds all the callsites in shared libraries
(using dl_iterate_phdr()) at the time qb_log_init()
is called.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
Conflicts:
lib/log.c
compiler debug & optimization flags are only set with either
--enable-debug or --enable-coverage.
This prevents defaults and environmental flags from
been overridden.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
Mainly to be consistent with the other objects.
Also:
- splint warnings(-weak) are now zero.
- Added a reference counter to replace the handle.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
Note: glib is only linked into the test app, so
libqb not dependant on glib. This is just testing
integration.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
This was initially copied from glib. How ever I have
simplified it to only support proper atomic operations
with gcc builtin __sync calls. The backup is pthread_spin_lock().
I have also obviously namespaced the code to qb_.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
- implement using posix message queues
- implement using sys-v message queues
- implement shared memory ringbuffers
- add auth via unix sockets
- add items to the TODO
This is still a bit rough, more work to follow...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
Fix make distcheck
Add qbhash.h to the makefiles
Fix make rpm.
Make sure the makefiles are generatd for hash
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>