#include #include #include #include #define PROCESS_COUNT 1 void do_test_spawn(void) { // spawn multiple processes struct spawninfo *si = malloc(PROCESS_COUNT * sizeof(struct spawninfo)); domainid_t *pid = malloc(PROCESS_COUNT * sizeof(domainid_t)); for(uint i = 0; i < PROCESS_COUNT; ++i) { debug_printf("TEST_SPAWN: spawn %u\n", i); // char *argv = "filesystem_performance"; // char *argv = "/sdcard/perf"; char *argv = "hello"; CHECK_ERR(spawn_load_argv(1, &argv, &(si[i]), &(pid[i]))); } // wait for 10 seconds but handle events in the mean time // struct waitset *default_ws = get_default_waitset(); // struct timespec tt; // clock_gettime(CLOCK_REALTIME, &tt); // long start = time_to_ms(tt); // do { // if(err_is_ok(check_for_event(default_ws))){ // CHECK_ERR(event_dispatch(default_ws)); // } // clock_gettime(CLOCK_REALTIME, &tt); // } while(time_to_ms(tt) - start < 10000); // for(uint i = 0; i < PROCESS_COUNT; ++i) { // debug_printf("TEST_SPAWN: Killing %u\n", i); // CHECK_ERR(invoke_dispatcher_stop(si[i].dispatcher)); // } }