Deleted Added
full compact
linux_fork.c (298829) linux_fork.c (300043)
1/*-
2 * Copyright (c) 2004 Tim J. Robbins
3 * Copyright (c) 2002 Doug Rabson
4 * Copyright (c) 2000 Marcel Moolenaar
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions

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

22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 2004 Tim J. Robbins
3 * Copyright (c) 2002 Doug Rabson
4 * Copyright (c) 2000 Marcel Moolenaar
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions

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

22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29#include <sys/cdefs.h>
30__FBSDID("$FreeBSD: head/sys/compat/linux/linux_fork.c 298829 2016-04-30 00:53:10Z pfg $");
30__FBSDID("$FreeBSD: head/sys/compat/linux/linux_fork.c 300043 2016-05-17 09:56:22Z kib $");
31
32#include "opt_compat.h"
33
34#include <sys/param.h>
35#include <sys/systm.h>
36#include <sys/imgact.h>
37#include <sys/ktr.h>
38#include <sys/lock.h>
39#include <sys/mutex.h>
40#include <sys/proc.h>
41#include <sys/racct.h>
42#include <sys/sched.h>
43#include <sys/syscallsubr.h>
44#include <sys/sx.h>
31
32#include "opt_compat.h"
33
34#include <sys/param.h>
35#include <sys/systm.h>
36#include <sys/imgact.h>
37#include <sys/ktr.h>
38#include <sys/lock.h>
39#include <sys/mutex.h>
40#include <sys/proc.h>
41#include <sys/racct.h>
42#include <sys/sched.h>
43#include <sys/syscallsubr.h>
44#include <sys/sx.h>
45#include <sys/umtx.h>
45#include <sys/unistd.h>
46#include <sys/wait.h>
47
48#include <vm/vm.h>
49#include <vm/pmap.h>
50#include <vm/vm_map.h>
51
52#ifdef COMPAT_LINUX32

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

405{
406 struct linux_emuldata *em;
407
408 em = em_find(td);
409 KASSERT(em != NULL, ("exit: emuldata not found.\n"));
410
411 LINUX_CTR2(exit, "thread(%d) (%d)", em->em_tid, args->rval);
412
46#include <sys/unistd.h>
47#include <sys/wait.h>
48
49#include <vm/vm.h>
50#include <vm/pmap.h>
51#include <vm/vm_map.h>
52
53#ifdef COMPAT_LINUX32

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

406{
407 struct linux_emuldata *em;
408
409 em = em_find(td);
410 KASSERT(em != NULL, ("exit: emuldata not found.\n"));
411
412 LINUX_CTR2(exit, "thread(%d) (%d)", em->em_tid, args->rval);
413
414 umtx_thread_exit(td);
415
413 linux_thread_detach(td);
414
415 /*
416 * XXX. When the last two threads of a process
417 * exit via pthread_exit() try thr_exit() first.
418 */
419 kern_thr_exit(td);
420 exit1(td, args->rval, 0);

--- 62 unchanged lines hidden ---
416 linux_thread_detach(td);
417
418 /*
419 * XXX. When the last two threads of a process
420 * exit via pthread_exit() try thr_exit() first.
421 */
422 kern_thr_exit(td);
423 exit1(td, args->rval, 0);

--- 62 unchanged lines hidden ---