diff options
author | Jason King <jason.brian.king@gmail.com> | 2017-05-05 22:58:26 +0000 |
---|---|---|
committer | John Levon <john.levon@joyent.com> | 2018-10-12 15:51:25 +0000 |
commit | b267fa2867fd98d2f8864fd82efc8ad4b2276f39 (patch) | |
tree | 0cd175551d1706e0111fb4ee2b36ca0e82d6699a /usr/src/lib/libproc/common/Plwpregs.c | |
parent | 789cf136e86bd7243b6ffd90333a23ba74b898e3 (diff) | |
download | illumos-joyent-b267fa2867fd98d2f8864fd82efc8ad4b2276f39.tar.gz |
OS-7200 would like thread name API
OS-7205 bhyve makefile uses wrong linker flags
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Jason King <jason.king@joyent.com>
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Approved by: Patrick Mooney <patrick.mooney@joyent.com>
Diffstat (limited to 'usr/src/lib/libproc/common/Plwpregs.c')
-rw-r--r-- | usr/src/lib/libproc/common/Plwpregs.c | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/usr/src/lib/libproc/common/Plwpregs.c b/usr/src/lib/libproc/common/Plwpregs.c index c2b150000f..bf35c91ccf 100644 --- a/usr/src/lib/libproc/common/Plwpregs.c +++ b/usr/src/lib/libproc/common/Plwpregs.c @@ -24,7 +24,7 @@ */ /* - * Copyright (c) 2013, Joyent, Inc. All rights reserved. + * Copyright 2018 Joyent, Inc. * Copyright (c) 2013 by Delphix. All rights reserved. */ @@ -353,6 +353,38 @@ Plwp_getpsinfo(struct ps_prochandle *P, lwpid_t lwpid, lwpsinfo_t *lps) } int +Plwp_getname(struct ps_prochandle *P, lwpid_t lwpid, + char *buf, size_t bufsize) +{ + char lwpname[THREAD_NAME_MAX]; + char *from = NULL; + lwp_info_t *lwp; + + if (P->state == PS_IDLE) { + errno = ENODATA; + return (-1); + } + + if (P->state != PS_DEAD) { + if (getlwpfile(P, lwpid, "lwpname", + lwpname, sizeof (lwpname)) != 0) + return (-1); + from = lwpname; + } else { + if ((lwp = getlwpcore(P, lwpid)) == NULL) + return (-1); + from = lwp->lwp_name; + } + + if (strlcpy(buf, from, bufsize) >= bufsize) { + errno = ENAMETOOLONG; + return (-1); + } + + return (0); +} + +int Plwp_getspymaster(struct ps_prochandle *P, lwpid_t lwpid, psinfo_t *ps) { lwpstatus_t lps; |