rendered paste bodyvoid main(int argc, char* argv[])
{
max_iteration = abs(atoi(argv[1]));
iter = 1;
if (setjmp(Main) == 0)
Ping();
if (setjmp(Main) == 0)
Pong();
longjmp(PointA, 1);
}
void Ping(void)
{
if (setjmp(PointA) == 0)
longjmp(Main, 1);
while (1) {
printf("%3d : Ping-", iter);
if (setjmp(PointA) == 0)
longjmp(PointB, 1);
}
}
void Pong(void)
{
if (setjmp(PointB) == 0)
longjmp(Main, 1);
while (1) {
printf("Pong\n");
iter++;
if (iter > max_iteration)
exit(0);
if (setjmp(PointB) == 0)
longjmp(PointA, 1);
}
}