From 01d390825a5d9ba37715b80cd0aa7aede022dcec Mon Sep 17 00:00:00 2001 From: Brad Kittenbrink Date: Fri, 22 May 2009 23:27:16 +0000 Subject: DEV-27646 dll linkage for login module. Ok, finally got this to a point where it doesn't break the build and I can check in. llcommon can be built as a shared library (disabled but can be enabled with cmake cache var LLCOMMON_LINK_SHARED. reviewed by Mani on tuesday (I still need to get his suggested changes re-reviewed) --- indra/llcommon/llqueuedthread.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'indra/llcommon/llqueuedthread.h') diff --git a/indra/llcommon/llqueuedthread.h b/indra/llcommon/llqueuedthread.h index 3ba43e1e07..b3cde22b40 100644 --- a/indra/llcommon/llqueuedthread.h +++ b/indra/llcommon/llqueuedthread.h @@ -47,7 +47,7 @@ // Note: ~LLQueuedThread is O(N) N=# of queued threads, assumed to be small // It is assumed that LLQueuedThreads are rarely created/destroyed. -class LLQueuedThread : public LLThread +class LL_COMMON_API LLQueuedThread : public LLThread { //------------------------------------------------------------------------ public: @@ -80,7 +80,7 @@ public: //------------------------------------------------------------------------ public: - class QueuedRequest : public LLSimpleHashEntry + class LL_COMMON_API QueuedRequest : public LLSimpleHashEntry { friend class LLQueuedThread; @@ -148,6 +148,9 @@ protected: } }; + template class LL_COMMON_API std::set; + + //------------------------------------------------------------------------ public: -- cgit v1.3 From 46e7bd31cd6a16ebce71007200bc5776caf12168 Mon Sep 17 00:00:00 2001 From: Brad Kittenbrink Date: Wed, 27 May 2009 17:41:57 +0000 Subject: Fix for mac build errors following r121524 commit for DEV-27646. --- indra/llcommon/llqueuedthread.h | 2 -- indra/llcommon/llsdserialize.h | 10 ++++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'indra/llcommon/llqueuedthread.h') diff --git a/indra/llcommon/llqueuedthread.h b/indra/llcommon/llqueuedthread.h index b3cde22b40..8bfa5632a1 100644 --- a/indra/llcommon/llqueuedthread.h +++ b/indra/llcommon/llqueuedthread.h @@ -148,8 +148,6 @@ protected: } }; - template class LL_COMMON_API std::set; - //------------------------------------------------------------------------ diff --git a/indra/llcommon/llsdserialize.h b/indra/llcommon/llsdserialize.h index 4b32f0afcd..2f2b292189 100644 --- a/indra/llcommon/llsdserialize.h +++ b/indra/llcommon/llsdserialize.h @@ -638,9 +638,14 @@ protected: * params << "[{'version':i1}," << LLSDOStreamer(sd) * << "]"; * + * + * *NOTE - formerly this class inherited from its template parameter Formatter, + * but all insnatiations passed in LLRefCount subclasses. This conflicted with + * the auto allocation intended for this class template (demonstrated in the + * example above). -brad */ template -class LLSDOStreamer : public Formatter +class LLSDOStreamer { public: /** @@ -661,7 +666,8 @@ public: std::ostream& str, const LLSDOStreamer& formatter) { - formatter.format(formatter.mSD, str, formatter.mOptions); + LLPointer f = new Formatter; + f->format(formatter.mSD, str, formatter.mOptions); return str; } -- cgit v1.3