Boost logo

Boost Users :

Subject: Re: [Boost-users] [Interprocess] How to prevent collision of mapping addresses with DLL Loading on Windows?
From: Mario Klebsch (mkl_at_[hidden])
Date: 2009-12-14 10:38:19


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello!

Am 14.12.2009 um 15:41 schrieb pheres:
>> If *you're* writing the code that uses the shared memory
>> block, I would *strongly* encourage you to attempt to
>> re-write it so that you don't need to have it loaded into the
>> same address location in all processes.
> I have a tree like structure in the shared memory using pointers
> (which have to be valid inside every process, therefore the need for
> fixed
> base address) as connection elements. The structure is fairly big
> and queried
> right often. If I use offsets instead pointers and convert that to
> pointers using the
> difference in the base addresses I get about 1/10th of the original
> performance.

You could try a self-relative offset. The offset is signed and you add
its value to its address after reading it. It should not cost too much
CPU. OF course, it only works if your address range is less the 2GB.

73, Mario
- --
Mario Klebsch mkl_at_[hidden]
Innovative Dynamics GmbH http://www.innodyne.de
Wiesenweg 9 Tel: +49 5304 91 19 410
38533 Vordorf / Rethen Fax: +49 5304 91 19 412

Geschäftsführer: Dipl. Phys. Gerhard Heidkamp
Sitz: 38533 Vordorf - Rethen, Wiesenweg 9
Handelsregister beim Amtsgericht Hildesheim HRB 100553, USt-Id Nr. DE
215 876 442

SICHERHEITSHINWEIS:
===================

Diese Email ist elektronisch signiert. InnoDyne versendet grundsätzlich
seit dem 11.9.2006 verbindliche Dokumente nur als signierte PDF -
Dateien
oder elektronisch nachprüfbar signierte Emails. Juristisch und technisch
verbindliche Dokumente dürfen das Haus InnoDyne nicht als andere Datei-
formate verlassen. Sollten Sie ein signiertes, technisch oder kauf-
männisch/juristisch verbindliches Dokument in einem anderen Dateiformat
als PDF oder signierte Email von InnoDyne erhalten, so ist dies sehr
wahrscheinlich ein Versehen des Versenders, eine Software - Fehlfunktion
oder schlimmer noch, eine Fälschung. Wir bitten in einem solchen Fall um
sofortige Information und Übermittlung solcher Dokumente an gl_at_[hidden]

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (Darwin)

iEYEARECAAYFAksmW+sACgkQDwNq2neCwq4n1ACeLQGYqbihh03oAqUGF1mtpbAv
dlAAniiStVfGTtEPnYXTRFIMzQOL/Isc
=uxwf
-----END PGP SIGNATURE-----


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net