?? RIGHT := 110 ??
?? NEWTITLE := 'NOS/VE OS Interface : Device Log Flushing' ??
MODULE osm$flush_allocation_info;

{  PURPOSE:
{         This module contains the interface to force a flush of
{   modified pages in the device logs to disk at 'split allocation
{   log time', rather than waiting until 'device table update time',
{   thereby capturing allocation and initialization information
{   that might be lost in the event of a crash and recovery without
{   image. This interface cannot be used above ring 6. It has been
{   provided for use by the IMDM product to ensure more integrity
{   for the database.
{
{   NOTE:
{   There could be a negative performance impact if this interface
{   is used too often. Normally the logger task runs every 30 secs.
{   in which the allocation log is split and the modified pages in the
{   device logs are written to disk. A counter has been added to keep
{   track of use of this interface (dmv$flush_dev_log_pages_count).

?? PUSH (LISTEXT := ON) ??
*copyc dmp$split_allocation_log
?? POP ??

  PROCEDURE [XDCL, #GATE] osp$flush_allocation_info (VAR status: ost$status);

    VAR
      local_status: ost$status;

    status.normal := TRUE;

    dmp$split_allocation_log (TRUE, local_status);

  PROCEND osp$flush_allocation_info;

MODEND osm$flush_allocation_info;
