Linux: NameServer_daemon: Check All Remote Cores Even if One Core is in Bad State
authorAngela Stegmaier <angelabaker@ti.com>
Wed, 20 Jul 2016 20:51:57 +0000 (15:51 -0500)
committerAngela Stegmaier <angelabaker@ti.com>
Fri, 22 Jul 2016 19:35:39 +0000 (14:35 -0500)
commit0961654da105ddc2aacc9e305704e34b83311f69
tree4f4f7c714c0d16137a90fd16595ff1d8eb5ea766
parent0d3d4f75cc2d4d6fd896aa618db0528f8756f298
Linux: NameServer_daemon: Check All Remote Cores Even if One Core is in Bad State

The current implementation will cease checking of the remaining remote cores in
the cluster if NameServer_getRemote fails for any reason other than
NameServer_E_NOTFOUND or NameServer_E_RESOURCE. If one of the remote cores in
the cluster is in an unresponsive state, then either NameServer_E_TIMEOUT or
NameServer_E_FAIL could be returned. And when that error code is returned, no
more remote cores in the cluster will be checked by NameServer_get. So if one
core goes into a bad state, then communication becomes blocked for all remaining
cores in the cluster.

To improve error handling and allow other cores to continue communication with
the HOST even if one core has crashed, the remaining cores should continue to
be checked, regardless of an error being returned from one of the cores.

This patch modifies NameServer_get so that if NameServer_getRemote fails for
a particular core, it no longer breaks, but continues to try the remaining
cores. In this way a crashed core does not block communication with the other
cores.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
linux/src/daemon/NameServer_daemon.c