Commit Graph

429 Commits

Author SHA1 Message Date
Jérôme Flesch
52acd736d0 Coroipcc: Make sure that coroipcc_service_connect() always return a valid cs_error_t
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2748 fd59a12c-fef9-0310-b244-a6a79926bd2f
2010-03-30 07:24:59 +00:00
Christine Caulfield
1baa7b2ab3 Add a reload callback to libconfdb.
This also increments the libconfdb version to 4.1.0



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2683 fd59a12c-fef9-0310-b244-a6a79926bd2f
2010-03-16 09:51:30 +00:00
Jan Friesse
009dfc090e Support for lib_cpg_finalize
Add support for MESSAGE_REQ_CPG_FINALIZE message. This will allow us
remove cpg_pd from list of active connections, and remove problem, when
cpg_finalize + cpg_initialize + cpg_join can result in CPG_ERR_EXIST
error.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2676 fd59a12c-fef9-0310-b244-a6a79926bd2f
2010-03-04 12:17:47 +00:00
Steven Dake
3dd78c7aec Fix error handling to avoid segfaults/leaks on error in coroipcc_service_connect.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2672 fd59a12c-fef9-0310-b244-a6a79926bd2f
2010-03-03 19:19:12 +00:00
Angus Salkeld
5dd31150ee convert strtok to strtok_r
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2663 fd59a12c-fef9-0310-b244-a6a79926bd2f
2010-02-25 19:25:20 +00:00
Jan Friesse
1649931691 Fix freeze of IPC library connection on sem_wait
This patch solves library waiting on sem_wait. It doesn't
solve all other problems, which can make corosync not
to exit (malloc race, global lock deadlock, ...)

RHBZ#547511


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2643 fd59a12c-fef9-0310-b244-a6a79926bd2f
2010-01-14 08:39:06 +00:00
Jan Friesse
0ed4d53083 SAM implementation merge
The SAM library provide a tool to check the health
of an application. The main purpose of SAM is to restart
a local process when it fails to respond to a healthcheck
request in a configured time interval.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2570 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-12-07 17:06:53 +00:00
Angus Salkeld
663f894498 make sure key_names past from confdb are null terminated.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2561 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-12-02 22:14:00 +00:00
Angus Salkeld
ce8046f353 coroipcs: add logging for flow control state changes.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2551 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-11-29 18:25:51 +00:00
Angus Salkeld
3848fc2069 COVERITY 4: remove dead code in XYZ_dispatch().
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2549 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-11-23 00:32:31 +00:00
Angus Salkeld
870e4549df COVERITY 11: remove dead code from cpg_iteration_next().
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2545 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-11-22 06:29:46 +00:00
Angus Salkeld
73b7aa19bb Add value types to objdb keys.
This allows you to create a key with a know type.
And then get the type with the key value.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2511 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-10-10 03:20:38 +00:00
Steven Dake
45d68cab47 Fix merge error in previous commit.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2472 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-09-21 20:08:38 +00:00
Steven Dake
b3f661d295 Patch from Jerome to fix segfault in dispatch functions.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2468 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-09-21 19:03:16 +00:00
Steven Dake
77e63f0044 Remove warning in coroipcc.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2462 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-09-20 06:53:10 +00:00
Steven Dake
f170a431ce Fix error with revision 2415.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2416 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-09-14 20:27:45 +00:00
Steven Dake
c14c130df5 Fix dispatch returning TRY_AGAIN when using DISPATCH_ALL parameter because of
regression caused by revision 2046:lib/coroipcc.c.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2415 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-09-14 18:58:08 +00:00
Angus Salkeld
b13a7aba13 add small-memory-footprint option to configure
This adds the following option to configure:
--enable-small-memory-footprint

When enabled the following defines are set
to reduce the overall memory footprint.

MESSAGE_SIZE_MAX=1024*64
MESSAGE_QUEUE_MAX=512
PROCESSOR_COUNT_MAX=16
IPC_REQUEST_SIZE=1024*64
IPC_RESPONSE_SIZE=1024*64
IPC_DISPATCH_SIZE=1024*64




git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2410 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-09-09 18:58:38 +00:00
Christine Caulfield
6f3fabe398 Add corosync-quorumtool
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2406 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-09-08 08:14:58 +00:00
Jan Friesse
db87fb8f56 Implementation of cpg_iteration functions
This functions allows iterate available cpg groups
and their members. API is modelled like ckpt iteration
functions.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2399 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-08-31 09:23:16 +00:00
Steven Dake
3d05244ca0 Allow finalize routines to occur inside dispatch routines.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2394 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-08-24 17:50:12 +00:00
Jan Friesse
8eeeccbf00 Handle NULL callbacks in cpg, evs and confdb lib
Attached patches handle NULL callbacks in *_initialize
and *_dispatch. Handling is same as in quorum service. Now, when
callback is NULL -> no memcpy -> instance callbacks will have all
items set to NULL and in *_dispatch function is not called.

It changes cfg so now we are using continue instead of exit.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2392 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-08-20 10:50:11 +00:00
Steven Dake
f558917703 Proper limits checking for message sizes to allow ~1mb max message sizes for corosync.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2388 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-08-17 18:22:11 +00:00
Jérôme Flesch
bfb965554c Fix value returned by lib/coroipcc_dispatch_get() in case recv() fails
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2386 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-08-17 07:36:17 +00:00
Steven Dake
ee7ce5e328 Use unnamed shared posix semaphores on platforms which support them.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2379 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-08-04 00:22:41 +00:00
Steven Dake
90c013d787 Fix segfault when using zcb api of coroipcc under certain loads.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2356 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-07-10 11:49:51 +00:00
Steven Dake
2a31caedd3 Add ring id field to evs.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2341 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-07-01 20:57:37 +00:00
Steven Dake
453ef211c1 Pass handle is evs callback functions.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2339 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-07-01 20:21:48 +00:00
Steven Dake
130d9c9908 Add context get and set operations to evs handles and man pages.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2329 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-07-01 06:27:00 +00:00
Steven Dake
9833ecb5a7 Fix segfault during dispatch within confdb library.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2317 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-29 23:16:32 +00:00
Steven Dake
c0ff6ca7e5 Previously if a process was interrupted by a signal it could become unkillable
because the operation was retried on signal interrupts.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2303 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-26 21:18:38 +00:00
Steven Dake
ea5d3ba241 Set nosigpipe socket option on platforms that send sigpipes in coroipcc.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2273 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-20 17:34:59 +00:00
Steven Dake
638dae5f2b Remove use without init warning which is harmless.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2272 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-20 17:34:10 +00:00
Steven Dake
b8e3951ca1 Add (void *) casts for iovector assignments to remove compile warnings.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2270 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-19 20:43:12 +00:00
Jim Meyering
74a2fa1194 maint: remove trailing blanks
By running this command from a git-cloned directory:
git grep -z -l -E '[[:blank:]]+$' | xargs -0 perl -pi -e 's/[ \t]+$//'

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2266 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-19 11:34:50 +00:00
Steven Dake
4620ca4e0b Ensure Linux, BSD, Solaris, Darwin function with security authentication in
IPC system.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2259 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-18 21:32:45 +00:00
Steven Dake
a49937b029 add madvise nosync calls for bsd platform.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2253 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-18 05:53:16 +00:00
Steven Dake
a6feabf880 Use PF_UNIX on Solaris platforms instead of PF_LOCAL.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2240 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-14 11:37:53 +00:00
Steven Dake
0389b65725 Port of coroipc system to Solaris.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2238 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-14 11:36:18 +00:00
Steven Dake
c4fde87acf Fix compile on BSD platforms.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2229 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-10 14:28:46 +00:00
Steven Dake
ae8fd0a6e0 Fix semun definitions for various platforms.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2228 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-10 14:28:16 +00:00
Steven Dake
0d98fca548 Use PF_LOCAL to match BSD semantics of api calls.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2226 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-09 21:40:44 +00:00
Steven Dake
3d7f87779a Add support for buildling on Solaris platforms.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2222 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-07 07:53:56 +00:00
Steven Dake
9269c78dba coroipcc port to Solaris.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2208 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-07 00:42:21 +00:00
Andrew Beekhof
b62ed77691 Fix compilation on OSX/Darwin
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2206 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-03 10:46:07 +00:00
Jan Friesse
8605bbc7b2 Fix coroipcc linking
Fixes rhbz#499918
	
Functions from ckpt library (like aCkptCheckpointOpen,
saCkptSectionIterationInitialize, ...) internally uses corosync functions
reply_receive, reply_receive_in_buf, ... This functions are included in
coroipcc.c source file and uses global static variable ipc_hdb.

Without patch, coroipcc is linked to shared library (libcoroipcc.so) AND linked
with every corosync libraries (like cpg, ....), so global variable ipc_hdb is
included not only in libcoroipcc.so, but also in libcpg.so, ...

dlm_controld has function retrieve_plocks, and whole binary is linked with
libcoroipcc and libcpg. So ipc_hdb is included TWICE (so has TWO addresses).

Main problem causing the bug was, that reply_receive uses address from one
library, and reply_receive_in_buf uses other. This confuses check of hdb_get
function.

After removing linking of coroipcc.o to cpg, and rather use of dynamic version,
 (this means, there is only one instance of ipc_hdb) problem disappeared.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2203 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-01 08:46:10 +00:00
Jan Friesse
204026fa0d *Dispatch returns CS_ERR_BAD_HANDLE only on first hdb_get
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2197 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-05-20 13:11:23 +00:00
Jim Meyering
1f40a10983 don't include <signal.h> when it's not used
* exec/coroparse.c: Likewise.
* exec/quorum.c: Likewise.
* exec/sync.c: Likewise.
* exec/totemmrp.c: Likewise.
* exec/totemnet.c: Likewise.
* exec/totemrrp.c: Likewise.
* exec/totemsrp.c: Likewise.
* exec/vsf_quorum.c: Likewise.
* exec/vsf_ykd.c: Likewise.
* lcr/uic.c: Likewise.
* lcr/uis.c: Likewise.
* lib/cfg.c: Likewise.
* services/cfg.c: Likewise.
* services/cpg.c: Likewise.
* services/evs.c: Likewise.
* services/pload.c: Likewise.
* services/testquorum.c: Likewise.
* services/votequorum.c: Likewise.
* test/testconfdb.c: Likewise.
* test/testcpg.c: Likewise.
* test/testcpgzc.c: Likewise.
* test/testzcgc.c: Likewise.
* tools/corosync-cfgtool.c: Likewise.
* tools/corosync-objctl.c: Likewise.
* tools/corosync-pload.c: Likewise.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2193 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-05-18 16:41:46 +00:00
Jim Meyering
cc411bbb3b cfg.c: avoid useless if-before-free
* lib/cfg.c (corosync_cfg_ring_status_get): Avoid useless if-before-free
and change syntax to avoid triggering false-positive failure of
the "make syntax-check" sc_cast_of_argument_to_free rule.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2189 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-05-18 16:41:13 +00:00
Jim Meyering
29c015615d votequorum.c: avoid a new warning and add a comment in cpg.h
* votequorum.c: Avoid declaration of unused: ‘votequorum_instance_destructor’
* include/corosync/cpg.h (cpg_deliver_fn_t) [msg]: Add a comment explaining
why this member is not const.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2169 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-05-04 12:45:45 +00:00