Changeset b22b0a94 in mainline
- Timestamp:
- 2019-08-07T05:39:54Z (5 years ago)
- Children:
- b8341bc
- Parents:
- 5cd2290
- git-author:
- Michal Koutný <xm.koutny+hos@…> (2015-10-19 21:34:52)
- git-committer:
- Matthieu Riolo <matthieu.riolo@…> (2019-08-07 05:39:54)
- Location:
- uspace
- Files:
-
- 2 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/tester/Makefile
r5cd2290 rb22b0a94 68 68 chardev/chardev1.c \ 69 69 proc/dummy_task.c \ 70 proc/task_anywait.c \ 70 71 proc/task_wait.c 71 72 -
uspace/app/tester/proc/common.h
r5cd2290 rb22b0a94 44 44 #define STR_JOB_OK "job-ok" 45 45 46 #define DUMMY_TASK "/root/app/tester" 47 #define DUMMY_TASK_ARG "proc_dummy_task" 48 49 static inline int dummy_task_spawn(task_id_t *task_id, task_wait_t *wait, 50 const char *behavior) 51 { 52 return task_spawnl(task_id, wait, 53 DUMMY_TASK, DUMMY_TASK, DUMMY_TASK_ARG, behavior, 54 NULL); 55 } 56 46 57 #endif -
uspace/app/tester/proc/task_wait.c
r5cd2290 rb22b0a94 36 36 #include "common.h" 37 37 38 #define DUMMY_TASK "/root/app/tester"39 #define DUMMY_TASK_ARG "proc_dummy_task"40 41 #define S(x) #x42 #define S_(x) S(x)43 #define S__LINE__ S_(__LINE__)44 45 #define TASSERT(expr) \46 do { \47 if (!(expr)) \48 return "Failed " #expr " " __FILE__ ":" S__LINE__ ; \49 } while (0)50 51 static int dummy_task_spawn(task_id_t *task_id, task_wait_t *wait,52 const char *behavior)53 {54 return task_spawnl(task_id, wait,55 DUMMY_TASK, DUMMY_TASK, DUMMY_TASK_ARG, behavior,56 NULL);57 }58 38 59 39 const char *test_proc_task_wait(void) -
uspace/app/tester/tester.c
r5cd2290 rb22b0a94 79 79 #include "chardev/chardev1.def" 80 80 #include "proc/dummy_task.def" 81 #include "proc/task_anywait.def" 81 82 #include "proc/task_wait.def" 82 83 {NULL, NULL, NULL, false} -
uspace/app/tester/tester.h
r5cd2290 rb22b0a94 70 70 } while (0) 71 71 72 #define S(x) #x 73 #define S_(x) S(x) 74 #define S__LINE__ S_(__LINE__) 75 76 #define TASSERT(expr) \ 77 do { \ 78 if (!(expr)) \ 79 return "Failed " #expr " " __FILE__ ":" S__LINE__ ; \ 80 } while (0) 81 82 72 83 typedef const char *(*test_entry_t)(void); 73 84 … … 112 123 extern const char *test_chardev1(void); 113 124 extern const char *test_proc_dummy_task(void); 125 extern const char *test_proc_task_anywait(void); 114 126 extern const char *test_proc_task_wait(void); 115 127 -
uspace/lib/c/generic/task.c
r5cd2290 rb22b0a94 3 3 * Copyright (c) 2008 Jiri Svoboda 4 4 * Copyright (c) 2014 Martin Sucha 5 * Copyright (c) 2015 Michal Koutny 5 6 * All rights reserved. 6 7 * … … 53 54 54 55 static async_sess_t *session_taskman = NULL; 56 static task_event_handler_t task_event_handler = NULL; 55 57 56 58 task_id_t task_get_id(void) … … 470 472 } 471 473 474 void task_set_event_handler(task_event_handler_t handler) 475 { 476 task_event_handler = handler; 477 // TODO implement logic for calling the handler 478 } 472 479 473 480 void __task_init(async_sess_t *sess) -
uspace/lib/c/include/task.h
r5cd2290 rb22b0a94 46 46 #define TASK_WAIT_BOTH 0x4 47 47 48 typedef struct {49 int flags;50 ipc_call_t result;51 aid_t aid;52 task_id_t tid;53 } task_wait_t;54 55 48 static inline void task_wait_set(task_wait_t *wait, int flags) 56 49 { … … 76 69 __attribute__((sentinel)); 77 70 78 // if there is possibility for further wait, modify task_wait79 71 extern errno_t task_wait(task_wait_t *, task_exit_t *, int *); 80 72 extern errno_t task_wait_task_id(task_id_t, int, task_exit_t *, int *); 81 // similar to listen and socket duplication82 extern errno_t task_wait_any(task_wait_t *, task_id_t *, task_exit_t *, int *,83 task_wait_t *);84 85 //extern int task_wait_any(int, task_exit_t *, int *);86 // alternative87 // task_wait_t is output param, actual result is obtained via task_wait call88 //extern int task_wait_any(task_wait_t *, int);89 73 90 74 extern void task_cancel_wait(task_wait_t *); 91 75 92 76 extern errno_t task_retval(int); 77 extern void task_set_event_handler(task_event_handler_t); 93 78 94 79 #endif -
uspace/lib/c/include/types/task.h
r5cd2290 rb22b0a94 42 42 } task_exit_t; 43 43 44 typedef struct { 45 int flags; 46 ipc_call_t result; 47 aid_t aid; 48 task_id_t tid; 49 } task_wait_t; 50 51 typedef void (* task_event_handler_t)(task_id_t, int, task_exit_t, int); 52 44 53 #endif 45 54
Note:
See TracChangeset
for help on using the changeset viewer.