kernel - Add missing lwkt_switch_return() call to pcb_ext path
authorMatthew Dillon <dillon@apollo.backplane.com>
Wed, 30 Nov 2011 20:04:10 +0000 (12:04 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Wed, 30 Nov 2011 20:04:10 +0000 (12:04 -0800)
* Add missing lwkt_switch_return() call to pcb_ext path

* This path is only used when a program accesses /dev/io (basically
  none in normal system operation).

sys/platform/pc32/i386/vm_machdep.c
sys/platform/vkernel/i386/vm_machdep.c

index e009c12..c8cd5f8 100644 (file)
@@ -286,7 +286,7 @@ cpu_lwp_exit(void)
        if ((ext = pcb->pcb_ext) != NULL) {
                crit_enter();
                pcb->pcb_ext = NULL;
-               td->td_switch(td);
+               lwkt_switch_return(td->td_switch(td));
                crit_exit();
                kmem_free(&kernel_map, (vm_offset_t)ext, ctob(IOPAGES + 1));
        }
index ddc7df6..a6408f7 100644 (file)
@@ -286,7 +286,7 @@ cpu_lwp_exit(void)
        if ((ext = pcb->pcb_ext) != NULL) {
                crit_enter();
                pcb->pcb_ext = NULL;
-               td->td_switch(td);
+               lwkt_switch_return(td->td_switch(td));
                crit_exit();
                kmem_free(&kernel_map, (vm_offset_t)ext, ctob(IOPAGES + 1));
        }