16 lines
364 B
C
16 lines
364 B
C
#include <liballoc.h>
|
|
#include <process.h>
|
|
#include <status.h>
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
#include <system.h>
|
|
|
|
int process_spawn (process_func_t func, void* argument_ptr) {
|
|
void* stack = malloc (STACK_SIZE);
|
|
if (stack == NULL)
|
|
return -ST_OOM_ERROR;
|
|
|
|
uintptr_t top = (uintptr_t)stack + STACK_SIZE;
|
|
return clone (top, func, argument_ptr);
|
|
}
|