Commit Graph

191 Commits

Author SHA1 Message Date
Angus Salkeld
b07b65df42 IPC: change service instance from handle to pointer.
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>
2010-11-03 21:41:05 +11:00
Angus Salkeld
6714a170a5 Fix ./check_all
- Spelling error in "make distcheck"
- add check_resources.sh to EXTRA_DIST

Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-11-03 21:39:14 +11:00
Angus Salkeld
720adbdddf IPC: add flow control & q_len to unix socket transport.
This uses a small (2*int32_t) shared memory segment.

Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-11-03 09:48:15 +11:00
Angus Salkeld
0207003da5 RB: don't be so timid on shutdown
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-11-02 23:19:26 +11:00
Angus Salkeld
951451018d TEST: add a check_resources script
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-11-02 23:17:39 +11:00
Angus Salkeld
920a927116 Cleanup config defines & add a check_all script
Run:
./check_all
to build with and without some common configurations.

Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-11-01 22:05:46 +11:00
Angus Salkeld
fbf4a50141 UTIL: move mmap helpers into private header
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-11-01 10:39:18 +11:00
Angus Salkeld
dc08661297 LOOP: add support for timerfd
If available use timerfd_create() as it is
much more accurate than tlist.h

Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-11-01 10:14:08 +11:00
Angus Salkeld
b6ae0b5c10 IPC: remove refcount'ing debug
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-30 20:53:12 +11:00
Angus Salkeld
27d7df8edf TEST: make test ouput more verbose
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-30 20:52:12 +11:00
Angus Salkeld
970a4bc6d5 LOOP: add qb_loop_destroy()
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-30 20:51:36 +11:00
Angus Salkeld
e211caab96 LOOP: fix job poll and simplify main loop
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-29 22:26:46 +11:00
Angus Salkeld
e390a373d5 IPC: add server connection states for better shutdown.
This also fixes the refcounting, which was not quite right.

Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-27 11:48:56 +11:00
Angus Salkeld
90beaae095 IPC: add qb_ipcs_response_sendv()
iovec friendly response function

Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-27 11:36:13 +11:00
Angus Salkeld
d4ad56b8b7 TIME: move tlist_nano_ functions into util
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-27 11:36:13 +11:00
Angus Salkeld
dd64dbe18d RB: improve debug message
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-27 11:33:48 +11:00
Angus Salkeld
36d1171e2a IPC: add job_add() API to the poll abstraction.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-27 11:33:00 +11:00
Angus Salkeld
cdc953384f Fix or ignore splint errors
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-22 14:50:04 +11:00
Angus Salkeld
cf12f09b31 fix some build issues on FreeBSD
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-22 14:49:54 +11:00
Angus Salkeld
2549e5c24a IPC: add a connection iterator.
So we can iterate over all connections on a service.

Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-21 21:48:29 +11:00
Angus Salkeld
c5ed1450a1 IPC: add stats to server end.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-21 21:43:26 +11:00
Angus Salkeld
ca8fd021f3 TEST: add glib mainloop option to bms
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>
2010-10-20 11:31:44 +11:00
Angus Salkeld
875a4f8d53 ATOMIC: fix the memory barrier setup.
This was horribly broken.

Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-20 11:31:44 +11:00
Angus Salkeld
ee84738c2d IPC: remove sprintf where possible
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-19 22:36:40 +11:00
Angus Salkeld
9d8d6bfdce LINT: get the lint target working.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-19 22:36:08 +11:00
Angus Salkeld
7b2a0d3767 TEST: add some more array tests.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-19 21:16:47 +11:00
The Quarterback Library Release Team
01838c18c6 Bump version to 0.3.0
Signed-off-by: The Quarterback Library Release Team <quarterback-devel@fedorahosted.org>
2010-10-19 12:46:11 +11:00
Angus Salkeld
f621d9f3a0 Fix the current warnings
Add missing qbutil.h

Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-19 11:04:25 +11:00
Angus Salkeld
f780aaea2d HDB: remove locks and use atomic.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-19 10:24:04 +11:00
Angus Salkeld
84488fdb85 HDB: use qb_array.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-19 09:54:12 +11:00
Angus Salkeld
f0efc457db DOCS: add some doxygen comments to array & hdb.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-19 08:59:51 +11:00
Angus Salkeld
71952673ba RB: fix the sem init logic (always use some semaphore).
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-19 07:05:55 +11:00
Angus Salkeld
548be1f66e RB: use the semaphore to return chunks_used.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-19 07:05:55 +11:00
Angus Salkeld
6b1164effc RB: remove locking from ringbuffer.
make ref_count atomic

Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-19 07:05:55 +11:00
Angus Salkeld
c4614afa79 RB: prevent fd's from been leaked
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-19 07:05:55 +11:00
Angus Salkeld
6c03aa8cb6 IPC/RB: name the ringbuffer's files better.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-19 07:05:55 +11:00
Angus Salkeld
37fc16d4f2 IPC: get bmcpt working
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-19 07:05:55 +11:00
Angus Salkeld
835422a25e LOOP: use qbarray for poll_entries.
This fixes an issue where removing or adding entries
can cause a realloc() to move the entries and then a
qb_list_del() causes a SIGSEGV (next pointer is now
invalid).

qbarray does not use realloc() so does not suffer from this.

Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-19 07:05:54 +11:00
Angus Salkeld
9745d4feb7 Add a resizable array that doesn't move memory.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-19 07:05:54 +11:00
Angus Salkeld
e7b46822d5 ATOMIC: fix make distcheck
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-19 07:05:54 +11:00
Angus Salkeld
ec61d212d5 LIST/LOOP: allow empty list items but don't splice an empty head.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-19 07:05:54 +11:00
Angus Salkeld
97cdc99743 IPC: use atomic for ref counting.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-18 11:25:32 +11:00
Angus Salkeld
43d8b36518 Add atomic operations.
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>
2010-10-18 11:24:07 +11:00
The Quarterback Library Release Team
680f983562 Tweek the release.mk file to produce tags like vX.Y.Z
Signed-off-by: The Quarterback Library Release Team <quarterback-devel@fedorahosted.org>
2010-10-18 10:41:38 +11:00
The Quarterback Library Release Team
21fc479b92 Bump version to 0.2.0
Signed-off-by: The Quarterback Library Release Team <quarterback-devel@fedorahosted.org>
2010-10-18 10:07:46 +11:00
Angus Salkeld
47443a5b63 DOCS: do some work on the doxygen output.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-17 19:31:24 +11:00
Angus Salkeld
31ca215188 IPC: add support for unix sockets
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-17 14:23:53 +11:00
Angus Salkeld
8585b958cc TEST: add support events into bm[cs]
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-16 22:01:51 +11:00
Angus Salkeld
3a1d26549d LOOP: remove warning.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-16 21:43:37 +11:00
Angus Salkeld
ab3cc42537 LIST: fix logic in qb_list_splice()
this fixes "make check"

Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-16 21:42:50 +11:00