mirror of
https://salsa.debian.org/ha-team/libqb
synced 2026-01-07 11:09:06 +00:00
Original "qb_log_ctl" interface had to be extended for passing read-only
strings (new parameter), resulting in new "qb_log_ctl2" function, which
is what qb_log_ctl calls into with the new parameter set to NULL.
This ensures backward compatibility.
A new QB_LOG_CONF_IDENT configuration directive for the mentioned
interface is added with a goal to set new internal identifier
that is, notably, used for syslog sink. This allows for switching
the identification without a need to reinitialize logging subsystem,
akin to changing target logging facility.
Also a brand new concept of testing syslog sink in particular is
introduced (finally). During initial trial&error stage, it used
LD_PRELOAD hack but it seems that libtool is sophisticated enough
that no such extra intervention is needed and the desired symbol
resolution Just Works (tm). However, the technique is highly
non-portable (there is even a warning about that from libtool,
which is partially on purpose as the _syslog_override.so should
rather be explicit it is by no mean a regular library) and hence
the syslog tests have to be enabled with explicit
./configure --enable-syslog-tests
rather than possibly break on untested platforms (far too many).
The concept can be extended upon, but initially, just the new
feature is being tested.
Post-review: thanks Chrissie for a suggestion how to deal with
extract-arg-and-forget in a less intrusive way (no defines).
|
||
|---|---|---|
| build-aux | ||
| docs | ||
| examples | ||
| include | ||
| lib | ||
| tests | ||
| tools | ||
| .gitignore | ||
| .travis.yml | ||
| autogen.sh | ||
| check | ||
| coding_style.txt | ||
| configure.ac | ||
| COPYING | ||
| INSTALL | ||
| libqb.spec.in | ||
| Lindent | ||
| Makefile.am | ||
| README.markdown | ||
libqb
What is libqb?
libqb is a library with the primary purpose of providing high-performance, reusable features for client-server architecture, such as logging, tracing, inter-process communication (IPC), and polling.
libqb is not intended to be an all-encompassing library, but instead provide focused APIs that are highly tuned for maximum performance for client-server applications.
For more information, see:
-
You can build it yourself with the following commands:
$ make doxygen $ firefox ./doc/html/index.html
Dependencies
- glib-2.0-devel (If you want to build the glib example code)
- check-devel (If you want to run the tests)
- doxygen and graphviz (If you want to build the doxygen man pages or html manual)
Source Control (GIT)
git clone git://github.com/ClusterLabs/libqb.git
Installing from source
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install
How you can help
If you find this project useful, you may want to consider supporting its future development. There are a number of ways to support the project.
- Test and report issues.
- Help others on the developers@clusterlabs.org mailing list.
- Contribute documentation, examples and test cases.
- Contribute patches.
- Spread the word.
