Changes in uspace/srv/taskmon/taskmon.c [0485135:d9fae235] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/taskmon/taskmon.c
r0485135 rd9fae235 50 50 static void fault_event(ipc_callid_t callid, ipc_call_t *call) 51 51 { 52 const char *argv[6]; 52 53 const char *fname; 54 char *dump_fname; 53 55 char *s_taskid; 54 int rc;56 const char **s; 55 57 56 58 task_id_t taskid; … … 65 67 } 66 68 67 printf(NAME ": Task %" PRIuTASKID " fault in thread %p.\n", taskid, thread);68 69 fname = "/app/taskdump";70 71 #ifdef CONFIG_WRITE_CORE_FILES72 char *dump_fname;73 74 69 if (asprintf(&dump_fname, "/data/core%" PRIuTASKID, taskid) < 0) { 75 70 printf("Memory allocation failed.\n"); … … 77 72 } 78 73 79 printf(NAME ": Executing %s -c %s -t %s\n", dump_fname, s_taskid); 80 rc = task_spawnl(NULL, fname, fname, "-c", dump_fname, "-t", s_taskid, 81 NULL); 74 printf(NAME ": Task %" PRIuTASKID " fault in thread %p.\n", taskid, thread); 75 76 #ifdef CONFIG_WRITE_CORE_FILES 77 argv[0] = "/app/taskdump"; 78 argv[1] = "-c"; 79 argv[2] = dump_fname; 80 argv[3] = "-t"; 81 argv[4] = s_taskid; 82 argv[5] = NULL; 82 83 #else 83 printf(NAME ": Executing %s -t %s\n", s_taskid); 84 rc = task_spawnl(NULL, fname, fname, "-t", s_taskid, NULL); 84 argv[0] = "/app/taskdump"; 85 argv[1] = "-t"; 86 argv[2] = s_taskid; 87 argv[3] = NULL; 85 88 #endif 86 if (rc != EOK) { 89 fname = argv[0]; 90 91 printf(NAME ": Executing"); 92 93 s = argv; 94 while (*s != NULL) { 95 printf(" %s", *s); 96 ++s; 97 } 98 putchar('\n'); 99 100 int err; 101 if (!task_spawn(fname, argv, &err)) 87 102 printf("%s: Error spawning %s (%s).\n", NAME, fname, 88 str_error(rc)); 89 } 103 str_error(err)); 90 104 } 91 105
Note:
See TracChangeset
for help on using the changeset viewer.