10 int main(int argc
, char *argv
[]) {
11 _Atomic
int *sync
= mmap(NULL
, sizeof(int), PROT_READ
| PROT_WRITE
,
12 MAP_SHARED
| MAP_ANONYMOUS
, -1, 0);
13 if (sync
== MAP_FAILED
)
17 for (int i
= 0; i
< CHILDREN
; i
++) {
22 ; // wait the parent in order to call execl simultaneously
23 execl(argv
[1], argv
[1], NULL
);
24 } else if (pid
== -1) {
25 *sync
= 1; // release all children
31 *sync
= 1; // start the program in all children simultaneously
32 for (int i
= 0; i
< CHILDREN
; i
++)