.\" .\" This file and its contents are supplied under the terms of the .\" Common Development and Distribution License ("CDDL"), version 1.0. .\" You may only use this file in accordance with the terms of version .\" 1.0 of the CDDL. .\" .\" A full copy of the text of the CDDL should have accompanied this .\" source. A copy of the CDDL is also available via the Internet at .\" http://www.illumos.org/license/CDDL. .\" .\" .\" Copyright 2015 Joyent, Inc. .\" .Dd May 11, 2016 .Dt PSETRUN 3PROC .Os .Sh NAME .Nm Psetrun , .Nm Lsetrun .Nd run a stopped process or thread .Sh LIBRARY .Lb libproc .Sh SYNOPSIS .In libproc.h .Ft int .Fo Psetrun .Fa "struct ps_prochandle *P" .Fa "int sig" .Fa "int flags" .Fc .Ft int .Fo Lsetrun .Fa "struct ps_lwphandle *L" .Fa "int sig" .Fa "int flags" .Fc .Sh DESCRIPTION The .Fn Psetrun function resumes the stopped process handle .Fa P and transitions the process to running. If .Fa sig is non-zero, then the .Fn Psetrun function causes the signal to be delivered. See .Xr signal.h 3HEAD for a list of valid signal identifiers. .Pp The .Fa flags member modifies the behavior of the resumed handle. The following values may be combined by a bitwise-inclusive-OR: .Bl -tag -width Dv -offset indent .It Dv PRCSIG Clears the current signal, if any. .It Dv PRCFAULT Clears the current fault, if any. .It Dv PRSTEP Indicates that the thread should single-step over the next machine instruction and upon completion, inject a trap. For the specific mechanics of single-stepping and what traps or signals will be injected, see the .Sy PRSTEP section of .Xr proc 5 . .It Dv PRSABORT Indicates that the thread should abort the system call that it is currently executing. This is only valid if the thread is stopped because it is asleep or right before a system call. This will cause the system call to return .Er EINTR . .El .Pp If both .Dv PRCSIG is specified and .Fa sig is non-zero, then the .Dv PRCSIG request takes priority, and it will be treated as though .Fa sig was passed the argument .Sy 0 . .Pp When the process is resumed all extent tracing flags and register changes will be synchronized with the process. For more information on resuming a thread see the .Sy PCRUN section in .Xr proc 5 . .Pp Note, the .Fn Psetrun function is only valid for active processes. It will fail on process handles that refer to core files, zombie processes, and ELF objects. .Pp The .Fn Lsetrun function is equivalent to the .Fn Psetrun function, except rather than operating on a process it operates on a thread. .Fn Lsetrun causes the specified thread, .Fa L , to resume execution. Whereas .Fn Psetrun causes all threads in the process to resume. .Sh RETURN VALUES Upon successful completion, the .Fn Psetrun and .Fn Lsetrun functions return .Sy 0 . Otherwise, .Sy -1 is returned and .Sy errno is set to indicate the error. .Sh ERRORS For a full list of possible errors see the .Sy DIAGNOSTICS section in .Xr proc 5 . .Pp The .Fn Psetrun and .Fn Lsetrun functions will fail if: .Bl -tag -width Er .It Er EBUSY The process handle .Fa P is not currently stopped or it is not stopped due to an event of interest, a directed stop, or it is asleep in a system call. .El .Sh INTERFACE STABILITY .Sy Uncommitted .Sh MT-LEVEL See .Sy LOCKING in .Xr libproc 3LIB . .Sh SEE ALSO .Xr signal.h 3HEAD , .Xr libproc 3LIB , .Xr Pstatus 3PROC , .Xr proc 5