tmfe-based programs do not die from watchdog timeout

Create issue
Issue #282 new
dd1 created an issue

tmfe-based programs keep running after removal by watchdog timeout. I think this is because cm_periodic_tasks() does not kill the program if it becomes disconnected from ODB (by timeout). But why do mfe.c frontends die correctly? Probably because they always update the statistics, this touches ODB, discovers we are disconnected and kills itself. Need to understand this. K.O.

Comments (1)

  1. Stefan Ritt

    Sometimes a cm_shutdown is called, which in turn does a

    rcp_client_disconnect(hConn, TRUE);
    

    The TRUE causes a shutdown of the RPC client by sending a RPC_ID_SHUTDOWN message. This message is returned on the client’s cm_yield() as RPC_SHUTDOWN. The mfe.cxx frontend then does a

    do {
       status = cm_yield();
    } while (status != RPC_SHUTDOWN);
    

    in its main loop.

  2. Log in to comment