res_corosync: Add check for config file before calling corosync apis
authorGeorge Joseph <george.joseph@fairview5.com>
Wed, 22 Apr 2015 21:22:10 +0000 (15:22 -0600)
committerMatt Jordan <mjordan@digium.com>
Thu, 23 Apr 2015 11:30:29 +0000 (06:30 -0500)
commitcc77440debadb2ac0f45074f9a399d8c1d18c7fa
tree25474e9c81142914d881fb011b87086f0fcdfd32
parent0722e11f2686c00ace3de11e1a27ceff03f49ff1
res_corosync: Add check for config file before calling corosync apis

On some systems, res_corosync isn't compatible with the installed version of
corosync so corosync_cfg_initialize fails, load_module returns LOAD_FAILURE,
and Asterisk terminates.  The work around has been to remember to add
res_corosync as a noload in modules.conf.  A better solution though is to have
res_corosync check for its config file before attempting to call corosync apis
and return LOAD_DECLINE if there's no config file.  This lets Asterisk loading
continue.

If you have a res_corosync.conf file and res_corosync fails, you get the same
behavior as today and the fatal error tells you something is wrong with the
install.

ASTERISK-24998

Change-Id: Iaf94a9431a4922ec4ec994003f02135acfdd3889
res/res_corosync.c