Page MenuHomeFreeBSD

D3973.id9601.diff
No OneTemporary

D3973.id9601.diff

Index: sys/kern/kern_fork.c
===================================================================
--- sys/kern/kern_fork.c
+++ sys/kern/kern_fork.c
@@ -471,6 +471,7 @@
td2->td_sigstk = td->td_sigstk;
td2->td_flags = TDF_INMEM;
td2->td_lend_user_pri = PRI_MAX;
+ td2->td_pflags |= TDP_FORKING;
#ifdef VIMAGE
td2->td_vnet = NULL;
@@ -1023,6 +1024,7 @@
if (p->p_sysent->sv_schedtail != NULL)
(p->p_sysent->sv_schedtail)(td);
+ td->td_pflags &= ~TDP_FORKING;
}
/*
Index: sys/sys/proc.h
===================================================================
--- sys/sys/proc.h
+++ sys/sys/proc.h
@@ -446,7 +446,7 @@
#define TDP_RESETSPUR 0x04000000 /* Reset spurious page fault history. */
#define TDP_NERRNO 0x08000000 /* Last errno is already in td_errno */
#define TDP_UIOHELD 0x10000000 /* Current uio has pages held in td_ma */
-#define TDP_UNUSED29 0x20000000 /* --available-- */
+#define TDP_FORKING 0x20000000 /* Thread is being created through fork() */
#define TDP_EXECVMSPC 0x40000000 /* Execve destroyed old vmspace */
/*

File Metadata

Mime Type
text/plain
Expires
Thu, May 28, 9:24 AM (13 h, 31 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33582341
Default Alt Text
D3973.id9601.diff (1 KB)

Event Timeline