Line# |
Code |
1 |
//--- process.c\do_event:245-299 |
2 |
proctype do_event(chan do_event_sync_ch) |
3 |
{ chan ret_chan = [0] of {int}; |
4 |
mtype: process_event_t ev; mtype: process_data_t data; |
5 |
int receiver, p, tmp; |
6 |
if //process.c\do_event:261-298 |
7 |
::(nevents > 0) -> ev = events[fevent].ev; |
8 |
data = events[fevent].data; receiver = events[fevent].p; |
9 |
fevent = (fevent + 1) % PROCESS_CONF_NUMEVENTS; |
10 |
nevents = nevents - 1; |
11 |
if //-- Begin of process.c\do_event:276 - 297 |
12 |
::(receiver == PROCESS_BROADCAST) -> |
13 |
p = process_list; //- Begin of process.c\do_event:277 - 285 |
14 |
do |
15 |
:: (p != NULL) -> //process.c\do_event:277 |
16 |
if |
17 |
:: ( poll_requested == True ) -> |
18 |
run do_poll( ret_chan); //-Begin of process.c\do_event:282 |
19 |
ret_chan ? tmp; //- End of process.c\do_event:282 |
20 |
:: else -> skip; |
21 |
fi; |
22 |
call_process_params_chan ! p , ev , data ; //Begin of process.c\do_event:284 |
23 |
run call_process( ret_chan,call_process_params_chan ); |
24 |
ret_chan ? tmp; //End of process.c\do_event:284 |
25 |
p = processes[p].next; |
26 |
:: else-> break; |
27 |
od//- End of process.c\do_event:277 - 285 |
28 |
::else -> |
29 |
if :: ( ev == PROCESS_EVENT_INIT ) -> |
30 |
processes[receiver ].state == PROCESS_STATE_RUNNING; |
31 |
:: else -> skip; |
32 |
fi; |
33 |
call_process_params_chan ! receiver , ev , data;//Begin of process.c\do_event:296 |
34 |
run call_process( ret_chan,call_process_params_chan); |
35 |
ret_chan ? tmp;//End of process.c\do_event:296 |
36 |
fi;//-- End of process.c\do_event:276 - 297 |
37 |
::else -> goto end; |
38 |
fi; //process.c\do_event:261-298 |
39 |
end : do_event_sync_ch ! 0; |
40 |
}//---End of process.c\do_event:245-299 |