On 06/04/11 9:34 PM, Philip Guenther wrote:
Signal stacks are supposed to be per-thread, but they're currently in the
shared sigacts structure, so move them to struct proc.  The SAS_ALTSTACK
flag can go away completely: it was always the inverse of the SS_DISABLE
flag on the sigstk, so just use that directly.

Similar for the values used during core dumping: ps_sig, ps_code, ps_type,
and ps_sigval: if we sleep during the run-up to coredumping, some other
thread (perhaps in a completely different process) might get in and change
them, so move them from sigacts to proc.

Similar for ps_oldmask and SAS_OLDMASK: sigsuspend() is per-rthread, so we
need to move that to the flags on struct proc.  I rename the flag to
P_SIGSUSPEND to make it clearer what it's involved in.

Contrawise, p_sigignore, p_sigcatch, P_NOCLDSTOP, and P_NOCLDWAIT are
currently in struct proc, but they need to reflect the shared disposition
of the signals, so move them from struct proc to struct sigacts.  This
requires a bit of glue in libkvm and the sysctl bits so that the
p_sigignore and p_sigcatch members of kinfo_proc structure are still
filled in.

Finally, ps_usertramp was old SunOS-compat stuff missed in the
COMPAT_SUNOS removal, so just kill it.

oks?

I take it this PF diff was not supposed to be in there.. ?

Index: sys/net/pf.c
===================================================================
RCS file: /cvs/src/sys/net/pf.c,v
retrieving revision 1.738
diff -u -p -r1.738 pf.c
--- sys/net/pf.c        6 Apr 2011 13:18:39 -0000       1.738
+++ sys/net/pf.c        7 Apr 2011 01:22:42 -0000
@@ -313,7 +313,7 @@ RB_GENERATE(pf_state_tree, pf_state_key,
  RB_GENERATE(pf_state_tree_id, pf_state,
      entry_id, pf_state_compare_id);

-__inline int
+__inline __attribute__((__gnu_inline__)) int
  pf_addr_compare(struct pf_addr *a, struct pf_addr *b, sa_family_t af)
  {
        switch (af) {

--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

Reply via email to