chore: cleanup sandbox_request

main
Sean McBride 5 years ago
parent 75a34360b8
commit b0ae9ba266

@ -18,7 +18,25 @@ typedef struct sandbox_request sandbox_request_t;
DEQUE_PROTOTYPE(sandbox, sandbox_request_t *); DEQUE_PROTOTYPE(sandbox, sandbox_request_t *);
static inline int add_sandbox_request_to_global_dequeue(sandbox_request_t *sandbox_request); /**
* Pushes a sandbox request to the global deque
* @param sandbox_request
**/
static inline int
sandbox_request__add_to_global_dequeue(sandbox_request_t *sandbox_request)
{
int return_code;
#if NCORES == 1
pthread_mutex_lock(&global_deque_mutex);
#endif
return_code = deque_push_sandbox(global_deque, &sandbox_request);
#if NCORES == 1
pthread_mutex_unlock(&global_deque_mutex);
#endif
return return_code;
}
/** /**
* Allocates a new Sandbox Request and places it on the Global Deque * Allocates a new Sandbox Request and places it on the Global Deque
@ -30,7 +48,7 @@ static inline int add_sandbox_request_to_global_dequeue(sandbox_request_t *sandb
* @return the new sandbox request * @return the new sandbox request
**/ **/
static inline sandbox_request_t * static inline sandbox_request_t *
allocate_sandbox_request(struct module *module, char *arguments, int socket_descriptor, const struct sockaddr *socket_address, u64 start_time) sandbox_request__allocate(struct module *module, char *arguments, int socket_descriptor, const struct sockaddr *socket_address, u64 start_time)
{ {
sandbox_request_t *sandbox_request = (sandbox_request_t *)malloc(sizeof(sandbox_request_t)); sandbox_request_t *sandbox_request = (sandbox_request_t *)malloc(sizeof(sandbox_request_t));
assert(sandbox_request); assert(sandbox_request);
@ -41,36 +59,16 @@ allocate_sandbox_request(struct module *module, char *arguments, int socket_desc
sandbox_request->start_time = start_time; sandbox_request->start_time = start_time;
debuglog("[%p: %s]\n", sandbox_request, sandbox_request->module->name); debuglog("[%p: %s]\n", sandbox_request, sandbox_request->module->name);
add_sandbox_request_to_global_dequeue(sandbox_request); sandbox_request__add_to_global_dequeue(sandbox_request);
return sandbox_request; return sandbox_request;
} }
/**
* Pushes a sandbox request to the global deque
* @param sandbox_request
**/
static inline int
add_sandbox_request_to_global_dequeue(sandbox_request_t *sandbox_request)
{
int return_code;
#if NCORES == 1
pthread_mutex_lock(&global_deque_mutex);
#endif
return_code = deque_push_sandbox(global_deque, &sandbox_request);
#if NCORES == 1
pthread_mutex_unlock(&global_deque_mutex);
#endif
return return_code;
}
/** /**
* Pops a sandbox request from the global deque * Pops a sandbox request from the global deque
* @param sandbox_request the pointer which we want to set to the sandbox request * @param sandbox_request the pointer which we want to set to the sandbox request
**/ **/
static inline int static inline int
pop_sandbox_request_from_global_dequeue(sandbox_request_t **sandbox_request) sandbox_request__pop_from_global_dequeue(sandbox_request_t **sandbox_request)
{ {
int return_code; int return_code;
@ -84,18 +82,17 @@ pop_sandbox_request_from_global_dequeue(sandbox_request_t **sandbox_request)
return return_code; return return_code;
} }
/** /**
* TODO: What does this do? * TODO: What does this do?
* @returns A Sandbox Request or NULL * @returns A Sandbox Request or NULL
**/ **/
static inline sandbox_request_t * static inline sandbox_request_t *
steal_sandbox_request_from_global_dequeue(void) sandbox_request__steal_from_global_dequeue(void)
{ {
sandbox_request_t *sandbox_request = NULL; sandbox_request_t *sandbox_request = NULL;
#if NCORES == 1 #if NCORES == 1
pop_sandbox_request_from_global_dequeue(&sandbox_request); sandbox_request__pop_from_global_dequeue(&sandbox_request);
#else #else
int r = deque_steal_sandbox(global_deque, &sandbox_request); int r = deque_steal_sandbox(global_deque, &sandbox_request);
if (r) sandbox_request = NULL; if (r) sandbox_request = NULL;

@ -94,7 +94,7 @@ listener_thread_main(void *dummy)
total_requests++; total_requests++;
printf("Received Request %d at %lu\n", total_requests, start_time); printf("Received Request %d at %lu\n", total_requests, start_time);
sandbox_request_t *sandbox_request = allocate_sandbox_request( sandbox_request_t *sandbox_request = sandbox_request__allocate(
module, module,
module->name, module->name,
socket_descriptor, socket_descriptor,
@ -102,7 +102,7 @@ listener_thread_main(void *dummy)
start_time); start_time);
assert(sandbox_request); assert(sandbox_request);
// TODO: Refactor allocate_sandbox_request to not add to global request queue and do this here // TODO: Refactor sandbox_request__allocate to not add to global request queue and do this here
} }
} }
@ -265,7 +265,7 @@ pull_sandbox_requests_from_global_runqueue(void)
while (total_sandboxes_pulled < SBOX_PULL_MAX) { while (total_sandboxes_pulled < SBOX_PULL_MAX) {
sandbox_request_t *sandbox_request; sandbox_request_t *sandbox_request;
if ((sandbox_request = steal_sandbox_request_from_global_dequeue()) == NULL) break; if ((sandbox_request = sandbox_request__steal_from_global_dequeue()) == NULL) break;
// Actually allocate the sandbox for the requests that we've pulled // Actually allocate the sandbox for the requests that we've pulled
struct sandbox *sandbox = sandbox__allocate(sandbox_request->module, sandbox_request->arguments, struct sandbox *sandbox = sandbox__allocate(sandbox_request->module, sandbox_request->arguments,
sandbox_request->socket_descriptor, sandbox_request->socket_address, sandbox_request->socket_descriptor, sandbox_request->socket_address,

Loading…
Cancel
Save