Deleted Added
full compact
kern_sig.c (68520) kern_sig.c (68808)
1/*
2 * Copyright (c) 1982, 1986, 1989, 1991, 1993
3 * The Regents of the University of California. All rights reserved.
4 * (c) UNIX System Laboratories, Inc.
5 * All or some portions of this file are derived from material licensed
6 * to the University of California by American Telephone and Telegraph
7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with
8 * the permission of UNIX System Laboratories, Inc.

--- 22 unchanged lines hidden (view full) ---

31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
36 * SUCH DAMAGE.
37 *
38 * @(#)kern_sig.c 8.7 (Berkeley) 4/18/94
1/*
2 * Copyright (c) 1982, 1986, 1989, 1991, 1993
3 * The Regents of the University of California. All rights reserved.
4 * (c) UNIX System Laboratories, Inc.
5 * All or some portions of this file are derived from material licensed
6 * to the University of California by American Telephone and Telegraph
7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with
8 * the permission of UNIX System Laboratories, Inc.

--- 22 unchanged lines hidden (view full) ---

31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
36 * SUCH DAMAGE.
37 *
38 * @(#)kern_sig.c 8.7 (Berkeley) 4/18/94
39 * $FreeBSD: head/sys/kern/kern_sig.c 68520 2000-11-09 08:25:48Z marcel $
39 * $FreeBSD: head/sys/kern/kern_sig.c 68808 2000-11-16 02:16:44Z jhb $
40 */
41
42#include "opt_compat.h"
43#include "opt_ktrace.h"
44
45#include <sys/param.h>
46#include <sys/kernel.h>
47#include <sys/sysproto.h>

--- 1230 unchanged lines hidden (view full) ---

1278 /*
1279 * If traced, always stop, and stay
1280 * stopped until released by the parent.
1281 */
1282 p->p_xstat = sig;
1283 psignal(p->p_pptr, SIGCHLD);
1284 do {
1285 stop(p);
40 */
41
42#include "opt_compat.h"
43#include "opt_ktrace.h"
44
45#include <sys/param.h>
46#include <sys/kernel.h>
47#include <sys/sysproto.h>

--- 1230 unchanged lines hidden (view full) ---

1278 /*
1279 * If traced, always stop, and stay
1280 * stopped until released by the parent.
1281 */
1282 p->p_xstat = sig;
1283 psignal(p->p_pptr, SIGCHLD);
1284 do {
1285 stop(p);
1286 DROP_GIANT_NOSWITCH();
1287 mtx_enter(&sched_lock, MTX_SPIN);
1286 mi_switch();
1288 mi_switch();
1289 mtx_exit(&sched_lock, MTX_SPIN);
1290 PICKUP_GIANT();
1287 } while (!trace_req(p)
1288 && p->p_flag & P_TRACED);
1289
1290 /*
1291 * If the traced bit got turned off, go back up
1292 * to the top to rescan signals. This ensures
1293 * that p_sig* and ps_sigact are consistent.
1294 */

--- 52 unchanged lines hidden (view full) ---

1347 if (p->p_flag & P_TRACED ||
1348 (p->p_pgrp->pg_jobc == 0 &&
1349 prop & SA_TTYSTOP))
1350 break; /* == ignore */
1351 p->p_xstat = sig;
1352 stop(p);
1353 if ((p->p_pptr->p_procsig->ps_flag & PS_NOCLDSTOP) == 0)
1354 psignal(p->p_pptr, SIGCHLD);
1291 } while (!trace_req(p)
1292 && p->p_flag & P_TRACED);
1293
1294 /*
1295 * If the traced bit got turned off, go back up
1296 * to the top to rescan signals. This ensures
1297 * that p_sig* and ps_sigact are consistent.
1298 */

--- 52 unchanged lines hidden (view full) ---

1351 if (p->p_flag & P_TRACED ||
1352 (p->p_pgrp->pg_jobc == 0 &&
1353 prop & SA_TTYSTOP))
1354 break; /* == ignore */
1355 p->p_xstat = sig;
1356 stop(p);
1357 if ((p->p_pptr->p_procsig->ps_flag & PS_NOCLDSTOP) == 0)
1358 psignal(p->p_pptr, SIGCHLD);
1359 DROP_GIANT_NOSWITCH();
1360 mtx_enter(&sched_lock, MTX_SPIN);
1355 mi_switch();
1361 mi_switch();
1362 mtx_exit(&sched_lock, MTX_SPIN);
1363 PICKUP_GIANT();
1356 break;
1357 } else if (prop & SA_IGNORE) {
1358 /*
1359 * Except for SIGCONT, shouldn't get here.
1360 * Default action is to ignore; drop it.
1361 */
1362 break; /* == ignore */
1363 } else

--- 424 unchanged lines hidden ---
1364 break;
1365 } else if (prop & SA_IGNORE) {
1366 /*
1367 * Except for SIGCONT, shouldn't get here.
1368 * Default action is to ignore; drop it.
1369 */
1370 break; /* == ignore */
1371 } else

--- 424 unchanged lines hidden ---