Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Jun 2001 20:33:51 +0200
From:      Bernd Walter <ticso@mail.cicely.de>
To:        "E.B. Dreger" <eddy+public+spam@noc.everquick.net>
Cc:        Peter Pentchev <roam@orbitel.bg>, Terry Lambert <tlambert2@mindspring.com>, Chris Costello <chris@calldei.com>, freebsd-smp@FreeBSD.ORG, freebsd-hackers@FreeBSD.ORG
Subject:   Re: libc_r locking... why?
Message-ID:  <20010629203351.A16557@cicely20.cicely.de>
In-Reply-To: <Pine.LNX.4.20.0106291534530.9285-100000@www.everquick.net>; from eddy%2Bpublic%2Bspam@noc.everquick.net on Fri, Jun 29, 2001 at 03:44:03PM %2B0000
References:  <20010629183352.D535@ringworld.oblivion.bg> <Pine.LNX.4.20.0106291534530.9285-100000@www.everquick.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jun 29, 2001 at 03:44:03PM +0000, E.B. Dreger wrote:
> Again, I am *not* using pthreads.  Worker thread = totally separate
> process, created via rfork(2).  One process blocks, others continue
> running.

I can't see how you make shure that on SMP systems all CPUs have
the same meaning from memory content.
Normaly you would use a mutex or similar before accessing a data range
from another thread which also enshures that the CPU specific caches 
and buffers are syncronised.
If you don't do this it may happen that you write a variable and
another thread uses this variable using another CPU before the first
CPU has writen this memory seeable for others and works with an
outdated content.
A fresh rforked process with the same virtual memory should at least see
the version at the time of the rfork, so there is no problem if you
don't modify the common used content after rfork.

-- 
B.Walter              COSMO-Project         http://www.cosmo-project.de
ticso@cicely.de         Usergroup           info@cosmo-project.de


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010629203351.A16557>