Angus Salkeld
7d46c9ad3f
IPC: use rb refcount to check for "connectiveness"
...
This makes it possible the detect the loss of the server
and return -ENOTCONN.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-12-16 22:09:52 +11:00
Angus Salkeld
a2b2ed7988
TEST: add ipc tests for recv's with a timeout
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-12-16 22:09:52 +11:00
Angus Salkeld
43181d5a95
IPC: add a timeout to the client recv functions
...
Also allow the ringbuffer to pass ETIMEDOUT back to the
client applications.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-12-16 21:47:47 +11:00
Angus Salkeld
45ff679934
LOOP: change timers to be nano second based
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-12-13 12:23:45 +11:00
Angus Salkeld
d0b14bdbdf
IPC: return -ENOTCONN when the other end exits
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-12-10 12:22:03 +11:00
Angus Salkeld
a97c278833
TESTS: add a test case for recving from a failed server
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-12-10 11:12:55 +11:00
Angus Salkeld
1a073f7b29
LOOP: prevent timers from deleting them selves.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-11-15 16:03:31 +11:00
Angus Salkeld
f7f6c89591
TLIST: use qb_util_nano_monotonic_hz() instead of HZ
...
also add a test for under running.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-11-12 15:15:31 +11:00
Angus Salkeld
e7d2dd9646
LOOP: add signal support to main loop
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-11-09 11:51:22 +11:00
Angus Salkeld
c516965fbb
IPC: add connection_closed() callback.
...
- added another callback closed() and use this as the current
destroyed_connection() has been used.
- the destroyed() event changes meaning to
"the connection object is about to be free'ed"
and the user can free the context memory.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-11-04 10:16:58 +11:00
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
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
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
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
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
7b2a0d3767
TEST: add some more array tests.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-19 21:16:47 +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
37fc16d4f2
IPC: get bmcpt working
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-19 07:05:55 +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
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
e9d10dfdbe
IPC: remove flow control API and move functionality into send()
...
There is no point in a separate API.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-14 09:16:00 +11:00
Angus Salkeld
93d8bcabfb
TEST: make the bmc messages like cpgbench
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-13 08:23:14 +11:00
Angus Salkeld
45c41935b7
RB: return EAGAIN not ENOMEM if no space on the rb.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:53:53 +11:00
Angus Salkeld
e1686dbd6a
IPC: add support for flowcontrol & rate limiting
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:53:53 +11:00
Angus Salkeld
8d3ec80c19
RB: add support for shared user data.
...
(I need this for flow control)
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:53:53 +11:00
Angus Salkeld
8df21458f5
IPC: get the poll independent functions working.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:53:52 +11:00
Angus Salkeld
1f6c42b098
IPC: make msg_process return type int
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:53:52 +11:00
Angus Salkeld
08e5a9004d
Add a priority based main loop.
...
This is to try and get a better balance in the amount
of processing between IPC and totem in corosync.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:53:52 +11:00
Angus Salkeld
3dcd1126f6
IPC: remove qb_ipcc_event_release()
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:46:53 +11:00
Angus Salkeld
f1f301724b
IPC: improve resource cleanup/shutdown
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-06 20:39:23 +11:00
Angus Salkeld
f93051a758
TEST: disable posix mq test for now.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-06 20:39:23 +11:00
Angus Salkeld
69f2c88081
IPC: add a service_id and merge qb_ipcs_create() + qb_ipcs_service_handlers_set()
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-02 21:06:12 +10:00
Angus Salkeld
fcd0ca69d9
IPC: change the ipcs_connection to a pointer (not handle).
...
This is make integrating with corosync easier.
Also technically it doesn't really matter it still
has a reference counter.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-01 22:57:02 +10:00
Angus Salkeld
2aae94eb1d
IPC: make authenticate callback more generic "accept".
...
This is so that it is more obvious that you can use
it for authentication, service availabilty and
process resource constraints.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-01 22:57:02 +10:00
Angus Salkeld
4e28b94e83
TEST: fix ipc test after receint API changes.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-09-30 20:49:40 +10:00
Angus Salkeld
e3a6cd6ad6
Delete unchecked API (to be re-added later).
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-09-30 20:49:11 +10:00
Angus Salkeld
86c84f6ae0
IPC: new auth improvement and limits work around.
...
Create the queues/ringbuffers on the server so we don't
have to modify proc entries. Then chown them so that
the clients can access them.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-09-30 20:17:59 +10:00
Angus Salkeld
9556038195
IPC_SYSV: get sysv ipc to work with non-root processes.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-09-29 14:35:59 +10:00
Angus Salkeld
7a5cc45077
TEST: add IPC_TYPE cli option to bms
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-09-29 14:34:51 +10:00
Angus Salkeld
00a69d1c09
TEST: make bmc's output comma delimited
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-09-29 14:32:51 +10:00