Author: davidxu
Date: Tue Aug 24 07:22:24 2010
New Revision: 211732
URL: http://svn.freebsd.org/changeset/base/211732

Log:
  - According to specification, SI_USER code should only be generated by
    standard kill(). On other systems, SI_LWP is generated by lwp_kill().
    This will allow conforming applications to differentiate between
    signals generated by standard events and those generated by other
    implementation events in a manner compatible with existing practice.
  - Bump __FreeBSD_version

Modified:
  head/sys/kern/kern_thr.c
  head/sys/sys/signal.h

Modified: head/sys/kern/kern_thr.c
==============================================================================
--- head/sys/kern/kern_thr.c    Tue Aug 24 06:30:46 2010        (r211731)
+++ head/sys/kern/kern_thr.c    Tue Aug 24 07:22:24 2010        (r211732)
@@ -312,7 +312,7 @@ thr_kill(struct thread *td, struct thr_k
        error = 0;
        ksiginfo_init(&ksi);
        ksi.ksi_signo = uap->sig;
-       ksi.ksi_code = SI_USER;
+       ksi.ksi_code = SI_LWP;
        ksi.ksi_pid = p->p_pid;
        ksi.ksi_uid = td->td_ucred->cr_ruid;
        PROC_LOCK(p);
@@ -371,7 +371,7 @@ thr_kill2(struct thread *td, struct thr_
        if (error == 0) {
                ksiginfo_init(&ksi);
                ksi.ksi_signo = uap->sig;
-               ksi.ksi_code = SI_USER;
+               ksi.ksi_code = SI_LWP;
                ksi.ksi_pid = td->td_proc->p_pid;
                ksi.ksi_uid = td->td_ucred->cr_ruid;
                if (uap->id == -1) {

Modified: head/sys/sys/signal.h
==============================================================================
--- head/sys/sys/signal.h       Tue Aug 24 06:30:46 2010        (r211731)
+++ head/sys/sys/signal.h       Tue Aug 24 07:22:24 2010        (r211732)
@@ -338,6 +338,7 @@ struct sigaction {
 #define        SI_MESGQ        0x10005         /* Signal generated by arrival 
of a */
                                        /* message on an empty message queue. */
 #define        SI_KERNEL       0x10006
+#define        SI_LWP          0x10007         /* Signal sent by thr_kill */
 #endif
 #if __BSD_VISIBLE
 #define        SI_UNDEFINED    0
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to