sys/src/postef.c File Reference

post event flag More...

#include <linux/sched.h>
#include <asm/bitops.h>
#include <ssdef.h>
#include <cebdef.h>
#include <evtdef.h>
#include <ipldef.h>
#include <system_data_cells.h>
#include <ipl.h>
#include <internals.h>
#include <exe_routines.h>
#include <sch_routines.h>
#include <misc_routines.h>

Go to the source code of this file.

Defines

#define MYDEB_EFC

Functions

int waitcheck (struct _pcb *p, unsigned long priclass, unsigned long *efp, unsigned long *clusteraddr)
 check whether this flag satisfies a wait request for this process
int waitcheck2 (struct _pcb *p, unsigned long priclass, unsigned long *efp, unsigned long *clusteraddr)
 check whether this flag satisfies a wait request for this process
int sch_postef (unsigned long ipid, unsigned long priclass, unsigned long efn)
 setting an event flag - see 5.2 9.7

Variables

long efc [32 *1024]
long efcc [32] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }


Detailed Description

post event flag

Author:
Roar Thronęs

Definition in file postef.c.


Define Documentation

#define MYDEB_EFC

Definition at line 25 of file postef.c.


Function Documentation

int sch_postef ( unsigned long  ipid,
unsigned long  priclass,
unsigned long  efn 
)

setting an event flag - see 5.2 9.7

Parameters:
ipid internal process id
priclass at which priority class
efn event flag number

sched spinlock

does process still exist

test event flag legality

if non-common event flag

test if set

wait satisfied?

common event flag

locate ceb

wait satisfied?

unlock sched spinlock

Definition at line 86 of file postef.c.

References _pcb, _ceb::ceb_l_wqfl, efc, efcc, exe_ipid_to_pcb(), getefc(), getefcno(), getefcp(), IPL__SYNCH, SPIN_SCHED, SS__ILLEFC, SS__NONEXPR, SS__UNASEFC, SS__WASCLR, SS__WASSET, waitcheck(), and waitcheck2().

Referenced by bufpost(), exe_getdvi(), exe_getjpi(), exe_getsyi(), exe_qio(), exe_setef(), exe_swtimint(), ioc_iopost(), and lck_grant_lock().

int waitcheck ( struct _pcb *  p,
unsigned long  priclass,
unsigned long *  efp,
unsigned long *  clusteraddr 
)

check whether this flag satisfies a wait request for this process

for single flags < 64

Parameters:
p the process pcb
priclass the priority calss
efp event flag pointer
clusteraddr address of the cluster

if wait satisfied invoke sch_rse

Definition at line 36 of file postef.c.

References sch_rse().

Referenced by sch_postef().

int waitcheck2 ( struct _pcb *  p,
unsigned long  priclass,
unsigned long *  efp,
unsigned long *  clusteraddr 
)

check whether this flag satisfies a wait request for this process

for common flags >= 64

Parameters:
p the process pcb
priclass the priority calss
efp event flag pointer
clusteraddr address of the cluster

if wait satisfied invoke sch_rse

Definition at line 59 of file postef.c.

References sch_rse().

Referenced by sch_postef().


Variable Documentation

long efc[32 *1024]

Definition at line 75 of file postef.c.

Referenced by exe_clref(), and sch_postef().

long efcc[32] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

Definition at line 76 of file postef.c.

Referenced by exe_clref(), and sch_postef().


Generated on Fri Oct 9 10:26:01 2009 for FreeVMS by  doxygen 1.5.5