Implement argument_ptr () syscall for handling process arguments
All checks were successful
Build documentation / build-and-deploy (push) Successful in 37s
All checks were successful
Build documentation / build-and-deploy (push) Successful in 37s
This commit is contained in:
24
init/init.c
24
init/init.c
@@ -9,23 +9,10 @@
|
||||
|
||||
LOCAL volatile char letter = 'c';
|
||||
|
||||
void app_proc1 (void) {
|
||||
letter = 'b';
|
||||
void app_proc (void) {
|
||||
char arg_letter = (char)(uintptr_t)argument_ptr ();
|
||||
|
||||
for (;;) {
|
||||
mutex_lock (MUTEX);
|
||||
|
||||
for (int i = 0; i < 3; i++)
|
||||
test (letter);
|
||||
|
||||
mutex_unlock (MUTEX);
|
||||
}
|
||||
|
||||
process_quit ();
|
||||
}
|
||||
|
||||
void app_proc2 (void) {
|
||||
letter = 'd';
|
||||
letter = arg_letter;
|
||||
|
||||
for (;;) {
|
||||
mutex_lock (MUTEX);
|
||||
@@ -44,8 +31,9 @@ void app_main (void) {
|
||||
|
||||
letter = 'a';
|
||||
|
||||
process_spawn (&app_proc1);
|
||||
process_spawn (&app_proc2);
|
||||
process_spawn (&app_proc, (void*)'a');
|
||||
process_spawn (&app_proc, (void*)'b');
|
||||
process_spawn (&app_proc, (void*)'c');
|
||||
|
||||
for (;;) {
|
||||
mutex_lock (MUTEX);
|
||||
|
||||
Reference in New Issue
Block a user