Sun Cluster 3.1 10/03: Guía del desarrollador de los servicios de datos

El método Stop

RGM invoca el método de rellamada Stop de una implementación del tipo de recurso en un nodo del clúster para detener la aplicación. La semántica de la rellamada del método Stop requiere estas condiciones:

La utilidad scds_pmf_stop() de DSDL debería ser suficiente para la mayoría de las aplicaciones, porque intenta, primero, detener la aplicación suavemente (mediante SIGTERM): presupone que se inició en PMF con scds_pmf_start() y. después, envía un SIGKILL al proceso. Consulte Funciones de PMF para obtener más detalles sobre esta utilidad.

Siguiendo el modelo del código que hemos utilizado hasta ahora, presuponiendo que la función específica de la aplicación para detener la aplicación se denomina svc_stop() (que la implementación de svc_stop() utilice scds_pmf_stop() no es relevante en este momento y dependerá de que la aplicación se haya iniciado bajo PMF con el método Start), el método Stop se puede implementar de la manera siguiente:

if (scds_initialize(&handle, argc, argv)!= SCHA_ERR_NOERR)
{
   return (1);   /* Error de inicialización */
}
return (svc_stop(handle));

El método svc_validate() no se utiliza en la implementación del método Stop porque, aunque el sistema tenga un problema en este momento, el método Stop debería intentar detener la aplicación en este nodo.