Enabling Graceful Shutdown

Enabling graceful shutdown of a component is to determine whether the System State Manager (SSM) has to undergo staged shutdown or existing shutdown server mechanism must be used for device shutdown.

Shutdown is to stop a server interface. Shutdown server handles the shutdown of a device. It provides a notification mechanism for applications before the shutdown occurs so that the shutdown occurs gracefully.

Follow the procedure given below to enable or disable the graceful shutdown in either of the following ways by using patchable constant, KSsmGracefulShutdown:


  1. To enable support on the Emulator:

    1. Add the following line to the epoc.ini file.
      patchdata_ssmcmn_dll_KSsmGracefulShutdown 0xFFFFFFFF
      By default, the patchable constant KSsmGracefulShutdown is set to 0. This means that shutdown will not be graceful.

  2. To enable support at ROM build time:

    1. Configure the Base Shutdown server mechanism or the SSMA graceful shutdown mechanism at ROM build time using a patchable constant KSsmGracefulShutdown. The value of KSsmGracefulShutdown determines whether the System State Manager (SSM) staged shutdown or Base Shutdown server mechanism must be used for device shutdown. The default value for KSsmGracefulShutdown is 0x0. If the device shutdown is to be done through SSM staged shutdown, this value must be set to 0xFFFFFFFF.

    2. To patch these values, add a line to an iby or oby file that is included in the ROM being built using the following format:
      patchdata <dll> @ <symbol> <newvalue>
      patchdata ssmcmn.dll @ KSsmGracefulShutdown 0xFFFFFFFF

The component is shutdown gracefully in either of the following ways by using patchable constant.