In reply to svq:
I believe they should have written this as
initial begin
//code to calculate periods.
fork
forever #(main_period) if (reset_n==0) clka = ~clka;
forever #(even_period) if (reset_n==0) clkb = ~clkb;
forever #(odd_period) if (reset_n==0) clkc = ~clkc;
join
end
end