X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=test%2Ftest%2Fprocess.h;h=7f62f644f0b3b885947aa4db7717d54ac2bad1c0;hb=086eb64db39e;hp=ba3a185027d6b4e8a9515a97cc3857df9eadb1f4;hpb=1e3676a06e4c20e37dfc176f212a486ef064f7c8;p=dpdk.git diff --git a/test/test/process.h b/test/test/process.h index ba3a185027..7f62f644f0 100644 --- a/test/test/process.h +++ b/test/test/process.h @@ -9,6 +9,7 @@ #include /* basename et al */ #include /* NULL */ #include /* readlink */ +#include #ifdef RTE_EXEC_ENV_BSDAPP #define self "curproc" @@ -18,6 +19,10 @@ #define exe "exe" #endif +#include +extern void *send_pkts(void *empty); +extern uint16_t flag_for_send_pkts; + /* * launches a second copy of the test process using the given argv parameters, * which should include argv[0] as the process name. To identify in the @@ -31,6 +36,7 @@ process_dup(const char *const argv[], int numargs, const char *env_value) char *argv_cpy[numargs + 1]; int i, fd, status; char path[32]; + pthread_t thread; pid_t pid = fork(); if (pid < 0) @@ -61,8 +67,15 @@ process_dup(const char *const argv[], int numargs, const char *env_value) rte_panic("Cannot exec\n"); } /* parent process does a wait */ + if ((strcmp(env_value, "run_pdump_server_tests") == 0)) + pthread_create(&thread, NULL, &send_pkts, NULL); + while (wait(&status) != pid) ; + if ((strcmp(env_value, "run_pdump_server_tests") == 0)) { + flag_for_send_pkts = 0; + pthread_join(thread, NULL); + } return status; }