do_poll() proctype

Line# Code
1 proctype do_poll(chan do_poll_sync_ch) //--- Begin of process.c\do_poll:224-238
2 { chan ret_chan = [0] of {int};
3 int p, tmp ;
4 poll_requested = False;
5 mtype: process_data_t data;
6 p = process_list;//-- Begin of process.c\do_poll:231 - 237
7 do
8 :: (p != NULL) ->
9 if //- Begin of process.c\do_poll:232-236
10 :: (processes[p].needspoll == 1) ->
11 processes[p].state = PROCESS_STATE_RUNNING;
12 processes[p].needspoll = 0;
13 call_process_params_chan ! p,PROCESS_EVENT_POLL,data; //- Begin of process.c\do_poll:235
14 run call_process(ret_chan,call_process_params_chan);
15 ret_chan ? tmp;//- End of process.c\do_poll:235
16 :: else -> skip;
17 fi; //- End of process.c\do_poll:232-236
18 p = processes[p].next;
19 :: else -> break ;
20 od;//-- End of process.c\do_poll:231 - 237
21 end:do_poll_sync_ch ! 0;
22 }//--- End of process.c\do_poll:224-238
https://people.iut.ac.ir/en/mahmoudzadeh/dopoll-proctype