Print this page
OS-4470 lxbrand unblocking signals in new threads must be atomic

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/brand/lx/lx_brand/sys/lx_misc.h
          +++ new/usr/src/lib/brand/lx/lx_brand/sys/lx_misc.h
↓ open down ↓ 146 lines elided ↑ open up ↑
 147  147  extern void lx_err(char *, ...);
 148  148  extern void lx_err_fatal(char *, ...);
 149  149  extern void lx_unsupported(char *, ...);
 150  150  
 151  151  struct ucontext;
 152  152  
 153  153  extern ucontext_t *lx_syscall_regs(void);
 154  154  extern uintptr_t lx_find_brand_sp(void);
 155  155  extern const ucontext_t *lx_find_brand_uc(void);
 156  156  
      157 +extern void lx_jump_to_linux(ucontext_t *) __NORETURN;
      158 +
 157  159  extern char *lx_fd_to_path(int fd, char *buf, int buf_size);
 158  160  extern int lx_lpid_to_spair(pid_t, pid_t *, lwpid_t *);
 159  161  extern int lx_lpid_to_spid(pid_t, pid_t *);
 160  162  
 161  163  extern void lx_ptrace_init();
 162  164  extern int lx_ptrace_wait(siginfo_t *);
 163  165  extern void lx_ptrace_fork(void);
 164  166  extern void lx_ptrace_stop_if_option(int, boolean_t, ulong_t msg, ucontext_t *);
 165  167  extern void lx_ptrace_clone_begin(int, boolean_t);
 166  168  
↓ open down ↓ 39 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX