kern_thread.c (2b035cbe5a817f7c86a12d30997ab134c2cf4e3f) kern_thread.c (11e0f8e16d4180acd1ef277011e9a30fc72ab6c7)
1/*
2 * Copyright (C) 2001 Julian Elischer <julian@freebsd.org>.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

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

1368 return (NULL);
1369 }
1370 CTR3(KTR_PROC, "thread_schedule_upcall: thread %p (pid %d, %s)",
1371 td2, td->td_proc->p_pid, td->td_proc->p_comm);
1372 bcopy(&td->td_startcopy, &td2->td_startcopy,
1373 (unsigned) RANGEOF(struct thread, td_startcopy, td_endcopy));
1374 thread_link(td2, ku->ku_ksegrp);
1375 /* inherit blocked thread's context */
1/*
2 * Copyright (C) 2001 Julian Elischer <julian@freebsd.org>.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

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

1368 return (NULL);
1369 }
1370 CTR3(KTR_PROC, "thread_schedule_upcall: thread %p (pid %d, %s)",
1371 td2, td->td_proc->p_pid, td->td_proc->p_comm);
1372 bcopy(&td->td_startcopy, &td2->td_startcopy,
1373 (unsigned) RANGEOF(struct thread, td_startcopy, td_endcopy));
1374 thread_link(td2, ku->ku_ksegrp);
1375 /* inherit blocked thread's context */
1376 bcopy(td->td_frame, td2->td_frame, sizeof(struct trapframe));
1377 cpu_set_upcall(td2, td->td_pcb);
1376 cpu_set_upcall(td2, td);
1378 /* Let the new thread become owner of the upcall */
1379 ku->ku_owner = td2;
1380 td2->td_upcall = ku;
1381 td2->td_flags = TDF_UPCALLING;
1382#if 0 /* XXX This shouldn't be necessary */
1383 if (td->td_proc->p_sflag & PS_NEEDSIGCHK)
1384 td2->td_flags |= TDF_ASTPENDING;
1385#endif

--- 632 unchanged lines hidden ---
1377 /* Let the new thread become owner of the upcall */
1378 ku->ku_owner = td2;
1379 td2->td_upcall = ku;
1380 td2->td_flags = TDF_UPCALLING;
1381#if 0 /* XXX This shouldn't be necessary */
1382 if (td->td_proc->p_sflag & PS_NEEDSIGCHK)
1383 td2->td_flags |= TDF_ASTPENDING;
1384#endif

--- 632 unchanged lines hidden ---