|
From: Arndt M. <amu...@is...> - 2005-07-27 09:08:52
Attachments:
amuehlen.vcf
|
The GNU Standard C++ Library uses Copy-on-write strings. Updating of the reference counter is protected by a bus-lock, because the reference counter is only an integer that can be read or written in an atomic operation. Helgrind handles the bus lock as a special mutex and therefore wouldn't complain if all of the accesses after the first write where protected by bus locks. Needless to say, they are not. My question now is: Does it matter? Why are the write accesses bus-locked but not the read accesses? Unfortunately, I don't know enough about the multiprocessor architecture of the x86 platform to answer these questions by myself. Thanks, Arndt |