Commit Graph

90 Commits

Author SHA1 Message Date
Aleric Inglewood
37c8ea54eb Add AIThreadID - Cleanup of apr_os_thread* related code.
Apart from just really cleaning things up and moving
everything into one class regarding thread IDs (ie,
is_main_thread(), comparing ID's etc), this also
fixes an obscure bug where LL was casting thread ID's
to U32 and then compared those to find out if it
the same thread. It's theoretically possible that
such fails on a 64bit OS.

By generalizing the interface, I adopted the use
of a thread-local cache for the current thread ID
as used by LLMutex et al, so now all code benefits
from that. The idea was even extended to now also
be used for is_main_thread() tests and even resetting
a thread ID to the ID of the current thread.
2012-08-09 06:30:31 +02:00
Aleric Inglewood
caef97ad36 Print all libcurl calls if -DDEBUG_CURLIO. Don't create static lib for cwdebug.
Basically, cmake doesn't support linking static libs into a shared lib.
The correct way is to just specify source files in subdirectories
directly as source files of the shared library. This patch changes that.

Also, after this commit, when DEBUG_CURLIO is defined, every call to
libcurl is printed to llinfos (or to dc::curl when using libcwd).
2012-08-05 18:51:21 +02:00
Drake Arconis
1e81966b89 Clean up and updates
Cleaned up header bloatyness in linden_common
Moved around things to be in line with Linden Lab
Updated llinitparam and imported its new dependencies
Removed dohexeditor and related files
Removed unused legacy files

             /\_..._/\
             |/ \_/ \|
             | o.-.o |
             \ ( O ) /
             /'--U--'\
             |  .:.  | /\
             | /:;:\ |` /
   Drake     | |:;:| |-'
  Arconis   /  |'-'|  \
            `""`   `""`
2012-07-20 08:13:07 -04:00
Aleric Inglewood
058720824d Fixup of LLAtomic and LLThreadSafeRefCount 2012-06-27 04:27:07 +02:00
Aleric Inglewood
b8744b9e6a LLViewerRegion WIP: Added all headers that are dragged in.
Most in particular llevents.h, which comes along with
the demand that the old events in llevent.h are put
in a namespace LLOldEvents. Made all changes necessary
to compile the rest of the code again (without changing
the actual code: it's still using the old events).

This patch also removes LLStopWhenHandled and LLStandardSignal
from indra/llui/llnotifications.h because those are
moved to llevents.h. That seems to be the only change
to indra/llui/llnotifications.h that isn't floater related,
so I left the rest of that file alone.
2012-02-18 02:22:49 +01:00
Siana Gearz
acf378e9f2 Auto-version system 2012-02-09 14:03:49 +01:00
Shyotl
9453c2c2e9 Memory tracking system updated. 2012-01-29 01:33:14 -06:00
Siana Gearz
7d9299d870 Merge branch 'master' of git://github.com/AlericInglewood/SingularityViewer 2012-01-25 22:18:21 +01:00
Shyotl
6374f012de new fasttimers, including ui. 2012-01-23 18:30:54 -06:00
Aleric Inglewood
c4e55464c9 Resolved collisions of merge with siana/master 2012-01-22 01:32:52 +01:00
Shyotl
244e30297f AIAPRPool, AIAPRRootPool, AIVolatileAPRPool, AIThreadLocalData etc, were rebranded by LL. Merging change to clean up diffs. 2011-09-20 22:08:48 -05:00
Shyotl
1f187b09ee LLCommon cleanup and updating to V2 (V3 now, I guess.) 2011-08-27 01:57:10 -05:00
Aleric Inglewood
e95ee85804 Make LLFrameTimer thread-safe.
LLFrameTimer::sFrameTime is accessed by the texture
thread as well. Although the only consequences are
that it's possible for a timer in the texture thread
to time out too early (or to never time out when
it's started) when it reads this variable at the
same time as that it is updated, which is pretty
inlikely, it's just not-done to leave anything
thread-unsafe when it's known to be thread-unsafe.

This patch also adds a framework for AIFrameTimer, but
that isn't implemented yet.
2011-08-08 19:21:27 +02:00
Shyotl
f1759e0a96 Old-code related to sim-quota cleaned up. 2011-08-06 02:27:06 -05:00
Siana Gearz
aa469d860f Merge branch 'V2Mesh' of https://github.com/Shyotl/SingularityViewer into future 2011-08-01 19:56:33 +02:00
Shyotl
2aa4aa78e2 Added physics settings to object features panel. Brought in mesh 'prim cost' fetching and now display cost in edit floater if mesh is enabled. 2011-08-01 01:33:07 -05:00
Shyotl
a237cb9cad llmemory.h cleanup. pulled llpointer, refcounter, smartpointer, singleton and safe handle out into their own headers. llmemory.h drags all those headers in for legacy support until everything else is cleaned up. getCurrentRSS() moved into LLMemory. getWorkingSetSize() added to LLMemory. 2011-07-29 20:40:08 -05:00
Siana Gearz
2dd733cbaa Merge branch 'master' into future 2011-07-20 22:12:14 +02:00
Siana Gearz
73fd876423 OS X build fixes 2011-07-03 14:08:50 +02:00
Siana Gearz
6348635d3f Ïntroduced LLFolderType and LLViewerAssetType (by Shyotl) 2011-06-23 21:11:52 +02:00
Aleric Inglewood
a8d71f2550 Merge remote-tracking branch 'origin/master' 2011-06-14 16:02:43 +02:00
Siana Gearz
b64bd9c74f Linux build fixes 2011-06-09 17:37:57 +02:00
Shyotl
9746f7cc27 Added lldeleteutils.h to llcommon/CMakeLists.txt 2011-06-07 22:42:34 -05:00
Shyotl
71eec1caed Improved error handling (introduced debugsession commandline argument). Startup/shutdown now more verbose. SSE checks if project was compiled with SSE(2)... not sure if windows would reach it if hardware lacked support, but linux/mac may (from V2). Fixed Mac crashes in deferred. 2011-05-28 01:46:11 -05:00
Shyotl
77f09744ab Merge branch 'AlericMaster' into V2Renderer
Conflicts:
	indra/llcommon/aithreadsafe.h
	indra/newview/pipeline.cpp
2011-05-20 12:56:23 -05:00
Shyotl
51338470b5 Pulled LLEventTimer out of lltimer.h/cpp and into lleventtimer.h/cpp
LLInstanceTracker added to llcommon (pulled from llui in v2 for usage elsewhere)
LLEventTimer now using LLInstanceTracker
Updated LLLiveAppConfig (Though it appears unused, really)
processor.h is obsolete, thus removed. (llprocessor.h replaces it)
2011-05-15 22:40:59 -05:00
Aleric Inglewood
41f13dbf46 Merge branch 'master' of https://github.com/siana/SingularityViewer
Added missing header to indra/newview/ascentkeyword.cpp now that
llviewerpluginmanager.h has a couple of header dependencies less.

Resolved Conflicts:
	indra/llcommon/CMakeLists.txt

Proximity: addition of two independent things. Just included both.
2011-05-14 01:06:19 +02:00
narv
981e4f39b2 Revert to build llcommon on Darwin 2011-05-12 07:41:49 -07:00
Aleric Inglewood
474acdbff9 Add support for libcwd.
This patch has no influence if you don't have libcwd installed.
Note that libcwd (http://libcwd.sourceforge.net/) is only
available for linux.

A default compile of libcwd does memory allocation tracking,
which is too slow for everyday usage of the viewer (usable,
but notably slower) and we don't need that. Configure your
libcwd as follows:

./configure --prefix=/sl/usr --disable-alloc --enable-optimize

Or whatever prefix you prefer (add --enable-maintainer-mode
if you're compiling it from the SVN repository), add
--disable-nonthreading to compile twice as fast.

If you have it installed you can activate it's use by setting a
few environment variables:

CXXFLAGS="$(pkg-config --cflags libcwd_r)"
LDFLAGS="$(pkg-config --libs libcwd_r) -lpthread"

and then reconfiguring the viewer.

The -lpthread is needed when using ld.gold, however, if you
leave it out you might get an LDFLAGS that ends on trailing
whitespaces, which doesn't work for some reason.

Also, if you installed it in a non-standard place (/sl/usr
above) then you need this to run the viewer (and tests):

export LD_LIBRARY_PATH="/sl/usr/lib"
2011-05-08 17:08:48 +02:00
Aleric Inglewood
86a19e8e91 IMP-701: An API to wrap objects for thread-safe access.
See http://redmine.imprudenceviewer.org/issues/701
2011-05-05 02:54:38 +02:00
Aleric Inglewood
4d932d5e2d Added a thread-safe and robust wrapper for APR pools.
See http://redmine.imprudenceviewer.org/issues/590
and https://jira.secondlife.com/browse/SNOW-596
2011-05-05 02:52:55 +02:00
Aleric Inglewood
094587aefd Make viewer compile on standalone linux x86_64
This involves making libllcommon shared, a change
that was not finished for windows/Mac.
More changes are needed to indra/newview/viewer_manifest.py
for those two operating systems, as well as to
indra/copy_win_scripts.

I did not test this on linux 32bit, nor non-standalone
on that OS, either.

I did not check voice (which will very likely not work
anyway on 64bit). And currently the webkit plugin doesn't
work for me, but I'll fix that in a different commit.
2011-05-02 19:40:33 +02:00
Aleric Inglewood
26c40255aa Remove CR from configuration, source and xml files. 2011-05-01 22:16:05 +02:00
Shyotl
332cfdb532 Updated llinventory to something closer to V2's implementation. Mostly just restructuring.
Most the changes are due to InventoryObjectList* changing to LLInventoryObject::object_list_t*, LLInventoryItem::II_FLAGS* changing to LLInventoryItemFlags::II_FLAGS* and also const'ing.
Certain perms for certain asset types(callcard&landmarks) have been laxed, as per LL's V2.
LLInventoryType now does lookups mostly though new lldictionary class.
LLLandmark using boost for callbacks, instead of custom class structure.
2011-04-28 01:43:44 -05:00
siana
31b3c8e755 Singularity 1.5.4(2) fixes 2011-02-21 15:15:55 +01:00
narv
2f1c78337b Remove install of llcommon as a dylib 2011-02-02 15:20:39 -07:00
Siana Gearz
f9dcb1bb09 RLVa 1.1.2 to 1.1.3 upgrade. InvLinks + COF 2010-11-25 23:47:11 +01:00
Siana Gearz
d68736da39 Put in some changes along sg1.4 dev history. 2010-11-21 15:57:44 +01:00
Siana Gearz
6866a36a5c Display names from Phoenix. Thanks Wolfspirit!
That's quite a piece of work. I have NO idea how Jess can downplay the
effort that went into this.

And it's still not complete, local chat is not affected, perhaps group
chat too.
2010-11-20 15:25:57 +01:00
Hazim Gazov
7a86d01598 Imported existing code 2010-04-02 02:48:44 -03:00