2% called with
    3% mpirun -np 2 swipl wait.pl
    4% prints
    5% ------
    6% main
    7% main
    8% after_init
    9% after_init
   10% [0,2]
   11% [1,2]
   12% irecv
   13% wait_end
   14% after_send
   15% c(535755152,)
   16:- use_module(library(lam_mpi)).   17:- use_module(library(system)).   18main:-
   19	write(main),nl,
   20	mpi_init,
   21	write(after_init),nl,
   22	mpi_comm_size(S),
   23	mpi_comm_rank(R),
   24	write([R,S]),nl,
   25	(R == 0->
   26	 sleep(2),
   27	 write(wait_end),nl,
   28	 mpi_send(ciao,1,201),
   29	 write(after_send),nl
   30	;
   31	 mpi_irecv(0,_Tag,H),
   32	 write(irecv),nl,
   33	 test(H)
   34	),
   35	mpi_finalize.
   36
   37test(H):-
   38	(mpi_wait_recv(H,S,Data)->
   39	 write(c(S,Data)),nl
   40	;
   41	 write(no),nl,
   42	 test(H)
   43	).
   44
   45:-main,halt.