int main(int argc, char** argv){ int pid = sys_getpid(); char testme = 't'; printf ("single thread - init arsc \n"); syscall_desc_t* sysdesc[2]; syscall_rsp_t sysrsp; init_arc(&SYS_CHANNEL); printf ("single thread - init complete \n"); // cprintf_async(&desc1, "Cross-Core call 1, coming from process %08x\n", pid); sysdesc[0] = sys_cputs_async(&testme, 1, NULL, NULL); sysdesc[1] = sys_cputs_async(&testme, 1, NULL, NULL); printf ("single thread - call placed \n"); //ignore return value assert(-1 != waiton_syscall(sysdesc[0])); assert(-1 != waiton_syscall(sysdesc[1])); printf ("single thread - dummy call \n"); }
void *syscall_thread(void* arg) { char testme ='a'; char buf[20] = {0}; sprintf(buf, "%d", (pthread_self()->id % 10) ); char tid = buf[0]; syscall_desc_t* sysdesc; sysdesc = sys_cputs_async(&tid, 1, NULL, NULL); assert (-1 != waiton_syscall(sysdesc)); }