diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2003-10-27 23:58:04 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2003-10-27 23:58:04 +0000 |
commit | 285dc330bd28aa0e097106875bb184e2707bbed5 (patch) | |
tree | 76c92ab616914b2da4c4c135ba9a31b4223d730e /tests/testclone.c | |
parent | baf8ebf01a70782d222f0eaf29591dc60723f73c (diff) |
updatev0.5.0
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@417 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'tests/testclone.c')
-rw-r--r-- | tests/testclone.c | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/tests/testclone.c b/tests/testclone.c deleted file mode 100644 index 531bd5c610..0000000000 --- a/tests/testclone.c +++ /dev/null @@ -1,62 +0,0 @@ -#include <stdlib.h> -#include <stdio.h> -#include <string.h> -#include <signal.h> -#include <unistd.h> -#include <inttypes.h> -#include <pthread.h> -#include <sys/wait.h> -#include <sched.h> - -int thread1_func(void *arg) -{ - int i; - char buf[512]; - - for(i=0;i<10;i++) { - snprintf(buf, sizeof(buf), "thread1: %d %s\n", i, (char *)arg); - write(1, buf, strlen(buf)); - usleep(100 * 1000); - } - return 0; -} - -int thread2_func(void *arg) -{ - int i; - char buf[512]; - for(i=0;i<20;i++) { - snprintf(buf, sizeof(buf), "thread2: %d %s\n", i, (char *)arg); - write(1, buf, strlen(buf)); - usleep(120 * 1000); - } - return 0; -} - -#define STACK_SIZE 16384 - -void test_clone(void) -{ - uint8_t *stack1, *stack2; - int pid1, pid2, status1, status2; - - stack1 = malloc(STACK_SIZE); - pid1 = clone(thread1_func, stack1 + STACK_SIZE, - CLONE_VM | CLONE_FS | CLONE_FILES | SIGCHLD, "hello1"); - - stack2 = malloc(STACK_SIZE); - pid2 = clone(thread2_func, stack2 + STACK_SIZE, - CLONE_VM | CLONE_FS | CLONE_FILES | SIGCHLD, "hello2"); - - while (waitpid(pid1, &status1, 0) != pid1); - while (waitpid(pid2, &status2, 0) != pid2); - printf("status1=0x%x\n", status1); - printf("status2=0x%x\n", status2); - printf("End of clone test.\n"); -} - -int main(int argc, char **argv) -{ - test_clone(); - return 0; -} |