38b33328e604d32a5bf62dda10062bd50a58d07d
The previous hack wasn't thread-safe: read-only access would access the reference counter multiple times at the same time, which therefore would have to be thread-local to ever work. The current solution just disables the calls to lock/unlock for copyconstructed objects, which works if the copyconstructed object isn't used anymore after the original is destructed. This is the case then the copy construction only happens upon passing a temporary to a function, which is the case.
00000000011111111112222222222333333333344444444445555555555666666666677777777778
12345678901234567890123456789012345678901234567890123456789012345678901234567890
______ ___ __ _ _____ _ _ ______ _____ ___ _____ _ _
|_____ | | \ | | ___ | | | |____| |____/ | | \_/
_____| _|_ | \_| |____| |____| |____ | | | \_ _|_ | |
_ _ _ ____ _ _ ____ ____
\/ | |=== |/\| |=== |--<
Sin-gu-la-ri-ty (noun) - a distinctive feature, a uniqueness; a point at which
continuity breaks up; a point in history at which machine becomes smarter than
humanity and/or fuses with it indivisively; or simply a cool sounding word with
my initials in it :)
Singularity Viewer is a Second Life protocol compatible client application. It
can be used to access Second LIfe service as well as a number of other such as
those based upon OpenSim plattform. It is directly based upon source code of
Ascent Viewer by Balseraph Software Group, which is in turn based upon source
code released by Linden Lab, with contributions from various sources.
As this Readme grows out of date, please refer to
http://www.singularityviewer.org/about
Description
An experimental Snowglobe 1.5 based Second Life Viewer focusing on performance, but also including all the usual conveniences and RLVa.
Languages
C++
84.1%
Rez
7.6%
C
2.6%
SQLPL
1.6%
GLSL
1.6%
Other
2.3%