fis-gtm/sr_port/mlk_unpend.c

49 lines
1.1 KiB
C

/****************************************************************
* *
* Copyright 2001 Sanchez Computer Associates, Inc. *
* *
* This source code contains the intellectual property *
* of its copyright holder(s), and is made available *
* under a license. If you do not know the terms of *
* the license, please stop and do not read further. *
* *
****************************************************************/
#include "mdef.h"
#include "gdsroot.h"
#include "gtm_facility.h"
#include "fileinfo.h"
#include "gdsbt.h"
#include "gdsfhead.h"
#include "filestruct.h"
#include "mlkdef.h"
/* Include prototypes */
#include "mlk_prcblk_delete.h"
#include "mlk_unpend.h"
GBLREF int4 process_id;
GBLREF short crash_count;
void mlk_unpend(mlk_pvtblk *p)
{
bool was_crit;
sgmnt_addrs *sa;
sa = &FILE_INFO(p->region)->s_addrs;
if (sa->critical)
crash_count = sa->critical->crashcnt;
if(FALSE == (was_crit = sa->now_crit))
grab_crit(p->region);
mlk_prcblk_delete(p->ctlptr, p->nodptr, process_id);
p->ctlptr->wakeups++;
if(FALSE == was_crit)
rel_crit(p->region);
return;
}