[Openais] Application using AMF hang when sending saAmfHealthcheckConfirm...

Ola Lundqvist ola.lundqvist at tietoenator.com
Wed Sep 20 02:55:21 PDT 2006


Hi

The following code is used:

void healthcheckCallback(SaInvocationT invocation,
                         const SaNameT * componentName,
                         SaAmfHealthcheckKeyT * healthCheckKey)
{
    SaAisErrorT result;
    fprintf(stderr,"Healthcheck ");
    printSaName(componentName);
    fprintf(stderr, "\n");
    /* First send response */
    fprintf(stderr, " resp \n");
    result = _retrySaAmfResponse(saAmfHandle, invocation, SA_AIS_OK);
    if (result != SA_AIS_OK)
    {
        fprintf(stderr,"healthCheck respond error: response res is
%d\n", result);
        return;
    }
    do {
        fprintf(stderr, " C\n");
        result = saAmfHealthcheckConfirm(saAmfHandle,
                                         componentName,
                                         healthCheckKey,
                                         SA_AIS_OK);
        if (result == SA_AIS_ERR_TRY_AGAIN) {
            fprintf(stderr,"%d: TRY_AGAIN received\n", getpid());
            usleep (100000);
        }
    } while (result == SA_AIS_ERR_TRY_AGAIN);
    if (result != SA_AIS_OK)
    {
        fprintf(stderr,"healthCheck confirm error: response res is
%d\n", result);
        return;
    }
    fprintf(stderr, "healthCheck respond with ok (conf and response)\n");
}

I get the " C" printout but not the "healthCheck respond with ok" printout.

So from what I can determine the saAmfHealthcheckConfirm hang the process.

Then amf detect this and try to restart the process. However as it is
stalled it can not restart it. I do not know why, more than it may not
be able to restart it as it is stalled...

Is there any known problems with this function. (I'm using trunk, and
have also tried with 0.80.1 version).

Regards,

// Ola

-- 
 Ola Lundqvist, Civilingenjör Informationsteknologi
 TietoEnator R&D Services AB, Telecom Platforms
 Email:  ola.lundqvist at tietoenator.com
 Phone:  +46 (0)54-29 42 17



More information about the Openais mailing list