Print this page
OS-3820 lxbrand ptrace(2): the next generation
OS-3685 lxbrand PTRACE_O_TRACEFORK race condition
OS-3834 lxbrand 64-bit strace(1) reports 64-bit process as using x32 ABI
OS-3794 lxbrand panic on init signal death
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Bryan Cantrill <bryan@joyent.com>
        
@@ -412,12 +412,13 @@
 #define TS_XSTART       0x0400  /* setrun() by SIGCONT */
 #define TS_PSTART       0x0800  /* setrun() by /proc */
 #define TS_RESUME       0x1000  /* setrun() by CPR resume process */
 #define TS_CREATE       0x2000  /* setrun() by syslwp_create() */
 #define TS_RUNQMATCH    0x4000  /* exact run queue balancing by setbackdq() */
+#define TS_BSTART       0x8000  /* setrun() by brand */
 #define TS_ALLSTART     \
-        (TS_CSTART|TS_UNPAUSE|TS_XSTART|TS_PSTART|TS_RESUME|TS_CREATE)
+        (TS_CSTART|TS_UNPAUSE|TS_XSTART|TS_PSTART|TS_RESUME|TS_CREATE|TS_BSTART)
 #define TS_ANYWAITQ     (TS_PROJWAITQ|TS_ZONEWAITQ)
 
 /*
  * Thread binding types
  */
@@ -441,10 +442,14 @@
 
 /* True if thread is stopped on an event of interest */
 #define ISTOPPED(t) ((t)->t_state == TS_STOPPED && \
                         !((t)->t_schedflag & TS_PSTART))
 
+/* True if thread is stopped for a brand-specific reason */
+#define BSTOPPED(t)     ((t)->t_state == TS_STOPPED && \
+                            !((t)->t_schedflag & TS_BSTART))
+
 /* True if thread is asleep and wakeable */
 #define ISWAKEABLE(t) (((t)->t_state == TS_SLEEP && \
                         ((t)->t_flag & T_WAKEABLE)))
 
 /* True if thread is on the wait queue */