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 |
do_event() proctype
×
https://people.iut.ac.ir/en/mahmoudzadeh/doevent-proctype?view=qrcode