From 3ca3cd1ed7f37eef0f9e9c0b39d64ee2d12815b4 Mon Sep 17 00:00:00 2001 From: Jim Ingham Date: Tue, 30 Apr 2013 23:43:52 +0000 Subject: [PATCH] Add an option to resume a suspended task. llvm-svn: 180830 --- lldb/tools/darwin-threads/examine-threads.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lldb/tools/darwin-threads/examine-threads.c b/lldb/tools/darwin-threads/examine-threads.c index 0d8cb0e003c0..9e52bdf3060b 100644 --- a/lldb/tools/darwin-threads/examine-threads.c +++ b/lldb/tools/darwin-threads/examine-threads.c @@ -274,11 +274,12 @@ main (int argc, char **argv) int arg_is_procname = 0; int do_loop = 0; int verbose = 0; + int resume_when_done = 0; mach_port_t mytask = mach_task_self (); - if (argc != 2 && argc != 3 && argc != 4) + if (argc != 2 && argc != 3 && argc != 4 && argc != 5) { - printf ("Usage: tdump [-l] [-v] pid/procname\n"); + printf ("Usage: tdump [-l] [-v] [-r] pid/procname\n"); exit (1); } @@ -291,6 +292,8 @@ main (int argc, char **argv) do_loop = 1; if (strcmp (argv[i], "-v") == 0) verbose = 1; + if (strcmp (argv[i], "-r") == 0) + resume_when_done = 1; i++; } } @@ -467,6 +470,10 @@ main (int argc, char **argv) nanosleep (rqtp, NULL); } while (do_loop); + kern_return_t err = task_resume (task); + if (err != KERN_SUCCESS) + printf ("Error resuming task: %d.", err); + vm_deallocate (mytask, (vm_address_t) task, sizeof (task_t)); free ((void *) process_name);