Deleted Added
full compact
kern_synch.c (99942) kern_synch.c (100209)
1/*-
2 * Copyright (c) 1982, 1986, 1990, 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_synch.c 8.9 (Berkeley) 5/19/95
1/*-
2 * Copyright (c) 1982, 1986, 1990, 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_synch.c 8.9 (Berkeley) 5/19/95
39 * $FreeBSD: head/sys/kern/kern_synch.c 99942 2002-07-14 03:43:33Z julian $
39 * $FreeBSD: head/sys/kern/kern_synch.c 100209 2002-07-17 02:23:44Z gallatin $
40 */
41
42#include "opt_ddb.h"
43#include "opt_ktrace.h"
44
45#include <sys/param.h>
46#include <sys/systm.h>
47#include <sys/condvar.h>

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

472 td->td_flags |= TDF_INMSLEEP;
473 thread_schedule_upcall(td, td->td_kse);
474 td->td_flags &= ~TDF_INMSLEEP;
475 }
476 mtx_unlock_spin(&sched_lock);
477 }
478 }
479 mtx_lock_spin(&sched_lock);
40 */
41
42#include "opt_ddb.h"
43#include "opt_ktrace.h"
44
45#include <sys/param.h>
46#include <sys/systm.h>
47#include <sys/condvar.h>

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

472 td->td_flags |= TDF_INMSLEEP;
473 thread_schedule_upcall(td, td->td_kse);
474 td->td_flags &= ~TDF_INMSLEEP;
475 }
476 mtx_unlock_spin(&sched_lock);
477 }
478 }
479 mtx_lock_spin(&sched_lock);
480 if (cold || panicstr) {
480 if (cold ) {
481 /*
481 /*
482 * After a panic, or during autoconfiguration,
483 * just give interrupts a chance, then just return;
484 * don't run any other procs or panic below,
482 * During autoconfiguration, just give interrupts
483 * a chance, then just return.
484 * Don't run any other procs or panic below,
485 * in case this is the idle process and already asleep.
486 */
487 if (mtx != NULL && priority & PDROP)
488 mtx_unlock(mtx);
489 mtx_unlock_spin(&sched_lock);
490 return (0);
491 }
492

--- 593 unchanged lines hidden ---
485 * in case this is the idle process and already asleep.
486 */
487 if (mtx != NULL && priority & PDROP)
488 mtx_unlock(mtx);
489 mtx_unlock_spin(&sched_lock);
490 return (0);
491 }
492

--- 593 unchanged lines hidden ---