svn commit: r211732 - in head/sys: kern sys
David Xu
davidxu at FreeBSD.org
Tue Aug 24 07:22:24 UTC 2010
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
More information about the svn-src-all
mailing list