diff options
author | Robert Morris <[email protected]> | 2022-10-12 13:07:55 -0400 |
---|---|---|
committer | Robert Morris <[email protected]> | 2022-10-12 13:07:55 -0400 |
commit | 348cf7fee4023fce9b023145d89429ee8fdde00d (patch) | |
tree | 1a5430e192de502f3dc1fc0e42a847841e809f1e /kernel | |
parent | d2b2dff7490f2c4b8e91f79940fc46f0361c216c (diff) | |
download | xv6-labs-348cf7fee4023fce9b023145d89429ee8fdde00d.tar.gz xv6-labs-348cf7fee4023fce9b023145d89429ee8fdde00d.tar.bz2 xv6-labs-348cf7fee4023fce9b023145d89429ee8fdde00d.zip |
forkret first memory model
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/proc.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/proc.c b/kernel/proc.c index 959b778..659ca54 100644 --- a/kernel/proc.c +++ b/kernel/proc.c @@ -523,8 +523,11 @@ forkret(void) // File system initialization must be run in the context of a // regular process (e.g., because it calls sleep), and thus cannot // be run from main(). - first = 0; fsinit(ROOTDEV); + + first = 0; + // ensure other cores see first=0. + __sync_synchronize(); } usertrapret(); |