Boost logo

Boost :

From: Felipe Magno de Almeida (felipe.m.almeida_at_[hidden])
Date: 2008-03-29 23:08:45


On Sun, Mar 30, 2008 at 12:59 AM, Robert Ramey <ramey_at_[hidden]> wrote:
> Felipe Magno de Almeida wrote:
>
>

[snip]

> >
> > Hi Robert, I didn't make an example yet. I'm using msvc-7.1 SP1.
> > I was able to narrow down the issue for when multiple registrations
> > are done for the same type.
> > Is it supported? The multiple registration comes from the same DLL.
>
> Hmmm - I don't this should ever occur. That is I would expect one
> module to invoke no more than one "registration" record as its a
> singleton.

For each translation file which includes the serialization type and
the archive type shows
one extended_type_info in tkmap for that serialization type. The
serialization type
is surely on one DLL only, because they're only defined there. No other project
has access to those headers (not in usage-requirements for other projects).

> Multiple registration records could occur from having
> code for the same type in multiple DLLS or in a DLL along
> with the main module.

I believe the extended_type_info object is inserted for each
translation file which includes
the archive and serialization type. But it is only called key_register once.
That's why there are extended_type_info with m_key == 0 in tkmap.

> As each module is unloaded, registrations
> added the module should be deleted. Perhaps there is something
> out of whack here

I will try to provide a boost.build-v2 buildable example with the
problem when I can
in the near time.

>
> Robert Ramey
>
> So I would

Thanks,

-- 
Felipe Magno de Almeida

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk