#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 } |
Definition in file postef.c.
| int sch_postef | ( | unsigned long | ipid, | |
| unsigned long | priclass, | |||
| unsigned long | efn | |||
| ) |
setting an event flag - see 5.2 9.7
| 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
| 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
| 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().
| 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 } |
1.5.5