Changeset a3b339b4 in mainline
- Timestamp:
- 2013-04-03T20:14:16Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 220210c8
- Parents:
- c8830a2
- Location:
- uspace/app/trace
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/trace/ipc_desc.c
rc8830a2 ra3b339b4 49 49 { IPC_M_DATA_READ, "DATA_READ" }, 50 50 { IPC_M_DEBUG, "DEBUG" }, 51 52 /* Terminating entry */53 { 0, NULL }54 51 }; 52 53 size_t ipc_methods_len = sizeof(ipc_methods) / sizeof(ipc_m_desc_t); 55 54 56 55 /** @} -
uspace/app/trace/ipc_desc.h
rc8830a2 ra3b339b4 42 42 43 43 extern ipc_m_desc_t ipc_methods[]; 44 extern size_t ipc_methods_len; 44 45 45 46 #endif -
uspace/app/trace/ipcp.c
rc8830a2 ra3b339b4 140 140 void ipcp_init(void) 141 141 { 142 ipc_m_desc_t *desc;143 oper_t *oper;144 145 142 val_type_t arg_def[OPER_MAX_ARGS] = { 146 143 V_INTEGER, … … 162 159 proto_system = proto_new("system"); 163 160 164 desc = ipc_methods; 165 while (desc->number != 0) { 166 oper = oper_new(desc->name, OPER_MAX_ARGS, arg_def, V_INTEGER, 167 OPER_MAX_ARGS, arg_def); 168 proto_add_oper(proto_system, desc->number, oper); 169 170 ++desc; 161 for (size_t i = 0; i < ipc_methods_len; i++) { 162 oper_t *oper = oper_new(ipc_methods[i].name, OPER_MAX_ARGS, 163 arg_def, V_INTEGER, OPER_MAX_ARGS, arg_def); 164 proto_add_oper(proto_system, ipc_methods[i].number, oper); 171 165 } 172 166 -
uspace/app/trace/syscalls.c
rc8830a2 ra3b339b4 46 46 47 47 [SYS_TASK_GET_ID] = { "task_get_id", 1, V_ERRNO }, 48 [SYS_TASK_SET_NAME] = { "task_set_name", 2, V_ERRNO }, 48 49 [SYS_FUTEX_SLEEP] = { "futex_sleep_timeout", 3, V_ERRNO }, 49 50 [SYS_FUTEX_WAKEUP] = { "futex_wakeup", 1, V_ERRNO }, … … 82 83 }; 83 84 85 const size_t syscall_desc_len = (sizeof(syscall_desc) / sizeof(sc_desc_t)); 86 84 87 /** @} 85 88 */ -
uspace/app/trace/syscalls.h
rc8830a2 ra3b339b4 36 36 #define SYSCALLS_H_ 37 37 38 #include <stdbool.h> 39 #include <unistd.h> 40 38 41 #include "trace.h" 39 42 … … 45 48 46 49 extern const sc_desc_t syscall_desc[]; 50 extern const size_t syscall_desc_len; 51 52 static inline bool syscall_desc_defined(unsigned sc_id) 53 { 54 return (sc_id < syscall_desc_len && syscall_desc[sc_id].name != NULL); 55 } 47 56 48 57 #endif -
uspace/app/trace/trace.c
rc8830a2 ra3b339b4 136 136 } 137 137 138 free(task_ldr);139 138 task_ldr = NULL; 140 139 … … 348 347 if ((display_mask & DM_SYSCALL) != 0) { 349 348 /* Print syscall name and arguments */ 350 printf("%s", syscall_desc[sc_id].name); 351 print_sc_args(sc_args, syscall_desc[sc_id].n_args); 349 if (syscall_desc_defined(sc_id)) { 350 printf("%s", syscall_desc[sc_id].name); 351 print_sc_args(sc_args, syscall_desc[sc_id].n_args); 352 } 353 else { 354 printf("unknown_syscall<%d>", sc_id); 355 print_sc_args(sc_args, 6); 356 } 352 357 } 353 358 } … … 372 377 if ((display_mask & DM_SYSCALL) != 0) { 373 378 /* Print syscall return value */ 374 rv_type = syscall_desc[sc_id].rv_type; 379 if (syscall_desc_defined(sc_id)) 380 rv_type = syscall_desc[sc_id].rv_type; 381 else 382 rv_type = V_PTR; 375 383 print_sc_retval(sc_rc, rv_type); 376 384 } … … 497 505 ldr = loader_connect(); 498 506 if (ldr == NULL) 499 return 0;507 return NULL; 500 508 501 509 /* Get task ID. */
Note:
See TracChangeset
for help on using the changeset viewer.