Commit Graph

2514 Commits

Author SHA1 Message Date
Aleric Inglewood
a6bb2604f6 Use our API, which makes more sense. 2012-07-15 16:58:47 +02:00
Aleric Inglewood
b2c71c099f Fixed typo in comment 2012-07-15 16:57:47 +02:00
Aleric Inglewood
7416d2aaf1 Timer, time out, and clean up improvements. 2012-07-14 04:29:37 +02:00
Aleric Inglewood
0419f8bee9 Add an AITimer to AICurlEasyRequestStateMachine.
Fixes AIStateMachine to work thread-safe with the timer.
2012-07-10 05:09:08 +02:00
Aleric Inglewood
f012f664d2 Threading voodoo: allow multiple concurrent calls to set_state().
This patch prepares AIStateMachine for the use of AITimer together
with calls to set_state() from other threads. The extra problem
in this case is that the main-thread CAN start running the state
machine again (when the timer times out), while before it was
assumed to be idle until a thread called set_state.

This also takes into account that a thread might call set_state()
and then AGAIN call set_state() before the main thread gets the
chance to call idle() inbetween.
2012-07-09 04:19:28 +02:00
Aleric Inglewood
744563a150 Use a newer libcurl version for linux. 2012-07-07 23:22:48 +02:00
Aleric Inglewood
389074d1e9 Fail at configure time when openGL is not found 2012-07-07 23:17:22 +02:00
Aleric Inglewood
93778eccbb Compile fix for g++ 4.7 2012-07-07 18:29:55 +02:00
Aleric Inglewood
f46d8e8a10 Try to be smart about not printing garbage (binary) received from the server. 2012-07-05 23:50:03 +02:00
Aleric Inglewood
df20f918ba New libcwd channel 'curlio'.
Enable printing of libcurl 'IO' debug messages when libcwd channel
'curlio' is turned on (added to .libcwdrc). Avoiding a recompile.
2012-07-05 03:10:16 +02:00
Aleric Inglewood
b8fc1f634e Print the curl library found during configure.
Prints something like:
-- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so (found version "7.25.0")
2012-07-05 01:41:01 +02:00
Aleric Inglewood
ae9dadb5d8 Improved layout of curl stats print out. 2012-07-04 16:56:33 +02:00
Aleric Inglewood
14276b3cf8 Bug fix 2012-07-04 08:44:22 +02:00
Aleric Inglewood
07e7eeedd1 Added some windows code.
Iterating directly over the elements of fd_set::fd_array in
windows is faster than using FD_ISSET.
2012-07-04 07:32:24 +02:00
Aleric Inglewood
125a10bb44 Code hardening, review, bug fixes, documentation, curl stats and cleanup.
Bug fixes:
AICurlEasyRequestStateMachine didn't delete itself.
curl_multi_socket_action calls were made for potentional removed sockets.
The curl thread wasn't terminated.
2012-07-04 00:10:43 +02:00
Aleric Inglewood
9b8e5c8719 Merge branch 'V2MultiWear' into curlthreading2
I picked a few non-curl related patches from curlthreading2
and applied them to V2MultiWear. Now merging back to avoid
collisions for others.
2012-07-03 14:27:12 +02:00
Aleric Inglewood
e36042bb76 More that I forgot it extract from curlthreading2. 2012-07-03 02:33:09 +02:00
Aleric Inglewood
d66acdf240 Add the rest of sRunning too. 2012-07-02 23:22:42 +02:00
Aleric Inglewood
a803507d67 Use correct way to check if we logged in yet or not.
Without this fix, we trigger an assert, in debug mode, that was added
to Singularity exactly to find out if we called functions like
getExpandedFilename(LL_PATH_PER_SL_ACCOUNT ...) before logging in.
Checking if THAT function returns empty() is clearly not safe, but
very error prone.
2012-07-01 22:15:03 +02:00
Aleric Inglewood
cb5efad026 Turn llassert[_always] into a (single) statement and print line nr in decimal. 2012-06-30 21:14:18 +02:00
Aleric Inglewood
26922a1578 Merge remote-tracking branch 'lirusaito/curlthreading2' into curlthreading2 2012-06-29 05:28:58 +02:00
Aleric Inglewood
90493b6571 Add support for libopenSSL older than version 1.0.0. 2012-06-29 05:20:24 +02:00
Aleric Inglewood
2dee921cd5 Fix libcurl version check. 2012-06-29 01:33:38 +02:00
Lirusaito
433c7c3f99 Spelling fixes and stuff like that to AICurl* and llproxy.* documentations
Also removes a duplicate include from llares.cpp

Conflicts:
	indra/llmessage/aicurl.cpp
2012-06-28 04:08:25 -04:00
Lirusaito
fef461fd13 Grabbed openSSL-1.0.0d from upstream for linux, necessary for non-standalone compiles.
Also brought in linux64 version I had sitting around, collecting dust.
2012-06-28 03:46:22 -04:00
Aleric Inglewood
1f56645b69 Always set proxy settings for every HTTP curl connection.
Move applyProxySettings to CurlEasyRequest and call it from
applyDefaultOptions.

Use AIThreadSafe for LLProxy for a more robust threadsafeness.
(This forces correct locking, checks that the unshared vars
are indeed unshared and made it easy to use read/write locking,
which might be important in this case (we do a lot of read-only
accesses to it).
2012-06-28 05:56:21 +02:00
Aleric Inglewood
69ca6cd5b2 WIP: Make curl thread code robust and flexible.
Conflicts:

	indra/llmessage/llcurl.cpp
	indra/llmessage/llcurl.h
	indra/newview/app_settings/settings.xml
	indra/newview/llappviewer.cpp
	indra/newview/llmeshrepository.cpp

Resolved:

	indra/llmessage/llcurl.cpp:

	  Basically removed (not used anyway)

	indra/llmessage/llcurl.h:

	  Basically removed (just includes aiculr.h now)

	indra/newview/app_settings/settings.xml:

	  CurlUseMultipleThreads was remvoved.
	  CurlMaximumNumberOfHandles and CurlRequestTimeOut
	  are still in there, but unused at the moment.

	indra/newview/llappviewer.cpp:

	  CurlMaximumNumberOfHandles and CurlRequestTimeOut
	  are unused at the moment.

	indra/newview/llmeshrepository.cpp:

	  Lock mSignal always (is unlocked inside wait()).
	  Use mSignal lock to see if we are waiting; remove mWaiting.
	  Return false from the MeshFetch functions iff we have to retry
	  a HTTP fetch. Catch the error exception thrown by getByteRange
	  instead of using it's return value (always returns true
	  anyway).
2012-06-28 01:30:46 +02:00
Aleric Inglewood
221e3908b9 There is no need to use a pure virtual destructor, and doing so crashes libcwd when configured with --enable-alloc. 2012-06-27 04:27:09 +02:00
Aleric Inglewood
782091ff02 Print useful error when dlopen() return NULL on linux standalone. 2012-06-27 04:27:08 +02:00
Aleric Inglewood
c02834b7e3 Use AIThreadSafeDC and _wat convention to simplify AIEvent. 2012-06-27 04:27:08 +02:00
Aleric Inglewood
15fb0ac3aa Allow AIStateMachine::cont() to be called from another thread for an idle statemachine. 2012-06-27 04:27:08 +02:00
Aleric Inglewood
0bee4a922f Make sure that sRunning <= number of threads with status RUNNING. 2012-06-27 04:27:08 +02:00
Aleric Inglewood
5996ff1fa2 Fixed a comment. 2012-06-27 04:27:08 +02:00
Aleric Inglewood
e7a3a150a7 Add AIThreadSafeBits::wrapper_cast to cast wrapped object back to wrapper class. 2012-06-27 04:27:08 +02:00
Aleric Inglewood
3c2f0b551f Remove old and never used LLHTTPAssetStorage 2012-06-27 04:27:07 +02:00
Aleric Inglewood
e9df867a21 Like the other AIThreadSafe* objects, disallow AIThreadSafeSingleThread copy/assign 2012-06-27 04:27:07 +02:00
Aleric Inglewood
4391614d6e AIThreadSafe* update.
Updated/added documentation.
Removed AIThreadSafeWindowsHack that annoyed me (fix your compiler).
Don't use 'static' in anonymous namespace.
Use the AIThreadSafe*DC variants for default constructed objects,
as opposed to the AITHREADSAFE* macro's.
2012-06-27 04:27:07 +02:00
Aleric Inglewood
d63c54cb78 Allow AIThreadSafe*DC classes to be constructed with zero or one parameter.
Also, allow AIThreadSafeSingleThreadDC objects to auto convert
to it's underlaying type, to assign that type and to write it
directly to an ostream.
2012-06-27 04:27:07 +02:00
Aleric Inglewood
058720824d Fixup of LLAtomic and LLThreadSafeRefCount 2012-06-27 04:27:07 +02:00
Aleric Inglewood
8f6dbfc399 Compile fix for standalone 2012-06-27 04:27:06 +02:00
Aleric Inglewood
eb7615ad57 Merge branch 'master' into V2MultiWear 2012-06-27 04:26:44 +02:00
Aleric Inglewood
7234e63ce1 Merge remote-tracking branch 'siana/master'
Conflicts:
	indra/llrender/llvertexbuffer.cpp

Resolved: needed two casts for 64bit warning.
2012-06-27 04:10:20 +02:00
Lirusaito
5f98e24efe Reduced AudioLevelWind default value in settings.
Wind shouldn't be so loud when standing still, what is LL thinking?
And Fixed spacing
2012-06-26 17:04:17 -04:00
Lirusaito
ebf66ebe9d XML UI Enhancements
Added History Button to group conferences and group chats.
Added Inventory Expand All icon and button added to inventory floater.
Thanks to Naudia Nadezda for pointing out that these parts of UI just work.
2012-06-24 17:27:33 -04:00
Lirusaito
26810ff16a Fixed up Keywords
Up to date definitions and reorganizations,
commented out constants that apparently don't exist.
Fixed Strings not highlighting by borrowing missing code from Phoenix.

Also, this fixes 1020 being treated as UnknownAltitude when not on SL grid
and cleans up the horrible tabbing/spacing mud in llfloateravatarlist.cpp
2012-06-24 01:52:56 -04:00
Lirusaito
48a2d0497b Added Avatar Privacy icon
Was requested, borrowed from Phoenix.
2012-06-22 03:57:47 -04:00
Lirusaito
b02465822b Merge branch 'V2MultiWear' of git://github.com/Shyotl/SingularityViewer into V2MultiWear 2012-06-19 16:16:49 -04:00
Lirusaito
edcbec7b76 Updated lscript, a bit, to match upstream. 2012-06-19 16:16:39 -04:00
Shyotl
a8ebd6eebb Fixed a nullptr that occasionally caused crashing on shutdown. 2012-06-19 14:31:03 -05:00
Shyotl
e6b6e8b282 Unbork lltabcontainer's clipping. Also made vertical tab scrolling actually work (apparently it hasn't in quite some time). 2012-06-19 14:30:13 -05:00