/* * \brief Simple fork test * \author Norman Feske * \date 2012-02-14 */ #include #include #include enum { MAX_COUNT = 1000 }; int main(int, char **) { printf("--- test-noux_fork started ---\n"); pid_t fork_ret = fork(); if (fork_ret < 0) { printf("Error: fork returned %d, errno=%d\n", fork_ret, errno); return -1; } printf("pid %d: fork returned %d\n", getpid(), fork_ret); if (fork_ret == 0) { printf("pid %d: child says hello\n", getpid()); for (int j = 0; j < MAX_COUNT; j++) { printf("pid %d: child j = %d\n", getpid(), j); } return 0; } printf("pid %d: parent received child pid %d, starts counting...\n", getpid(), fork_ret); for (int i = 0; i < MAX_COUNT; ) { printf("pid %d: parent i = %d\n", getpid(), i++); } pause(); return 0; }