Consider the following pseudo code that uses fork–join constructs –
S1 ;
fork(L1); // fork(L) : Creates new process and execution starts from L.
S2 ;
S4 ;join( ) : Combines all processes able to execute join.
fork(L2);
L1 : S3 ;
L2 join( );
S5 ;
Draw correct precedence graph for the above code fragment?