void init_handoff(void) { int status; int i; printf("INIT_HANDOFF pid %d\n",getpid()); status = fd_shm_alloc(FD_SHM_OFFSET + TCP_SOCKET_TYPE + 125 , (sizeof(struct tcb_handoff)), (char *)TCB_SHARED_REGION); if (status == -1) assert(0); tcb_handoff = (struct tcb_handoff *) TCB_SHARED_REGION; printf("TCB_HANDOFF ADDR: %p size: %d\n",tcb_handoff, (sizeof(struct tcb_handoff))); if (status) { printf("clearing handoff region\n"); /* not used before */ for(i=0;i<MAXHANDOFF;i++) tcb_handoff->inuse[i] = 0; } else { printf("mapped handoff region\n"); } OnExec(handoff_exec_handler); search_n_handoff(0); for(i=0;i<MAXHANDOFF;i++) tcb_handoff->inuse[i] = 0; }
// -------------------------------------------------------------------------------------- void Ajp13Socket::Execute() { // parse form data / query_string and cookie header if available m_req.ParseBody(); // prepare page OnExec( m_req ); }
static int mmap_init() { MMAP_TEMP_REGION = (u_int)exos_pinned_malloc(NBPG*2); if (MMAP_TEMP_REGION == (uint)NULL) return -1; LIST_INIT (&mmap_list); if (OnExec(mmap_exec) || OnFork(mmap_fork) || ExosExitHandler(mmap_exit, NULL)) return -1; mmap_inited = 1; return 0; }