Commit Graph

391 Commits (8e2adbcde79d0586fba20fecb3a4eae5aa3ff8dd)

Author SHA1 Message Date
Ansariel dde3c2c7a8 Merge branch 'DRTVWR-519' of https://bitbucket.org/lindenlab/viewer 2021-06-05 14:03:30 +02:00
Nat Goodspeed d313d7021f SL-15200: Add LLApp::sleep(duration) methods.
Two sleep() methods: one accepting F32Milliseconds, or in general any LLUnits
time class; the other accepting any std::chrono::duration.

The significant thing about each of these sleep() methods, as opposed to any
freestanding sleep() function, is that it only sleeps until the app starts
shutdown. Moreover, it returns true if it slept for the whole specified
duration, false if it woke for app shutdown.

This is accomplished by making LLApp::sStatus be an LLScalarCond<EAppStatus>
instead of a plain EAppStatus enum, and by making setStatus() call set_all()
each time the value changes. Then each new sleep() method can call
wait_for_unequal(duration, APP_STATUS_RUNNING).

Introducing llcond.h into llapp.h triggered an #include circularity because
llthread.h #included llapp.h even though it didn't reference anything from it.
Removed. This, in turn, necessitated adding #include "llapp.h" to several .cpp
files that reference LLApp but had been depending on other header files to
drag in llapp.h.
2021-05-17 13:37:13 -04:00
Nicky 493200bca5 Undo Linux updates. 2021-03-09 10:40:01 +01:00
Nicky 4e3cd245e6 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm into linux-updates 2021-02-15 17:46:45 +01:00
Andrey Lihatskiy e275de5a82 SL-13497 Fixed error in logic 2021-02-11 13:00:48 +01:00
Nicky 24b2f60d1a Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm into linux-updates 2021-02-06 00:18:07 +01:00
Beq 49690e5b8b Trap one specific fail code and force refresh of pollset
There may well be others that we should do this for but for now this eliminates the worst offender
2021-02-04 22:12:28 +00:00
Ansariel 52b3bb404c Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-01-17 12:38:03 +01:00
Beq 543e5dc1d2 Improve logging of looping apr poll error in slplugin
won't change the issues but it should make the logging sane
2021-01-14 01:57:09 +00:00
Ansariel af2abe17cd Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2020-11-12 00:51:42 +01:00
Andrey Lihatskiy 0303dd8179 Merge branch 'master' into DRTVWR-513-maint
# Conflicts:
#	autobuild.xml
#	indra/llui/llfolderviewmodel.h
#	indra/newview/lltexturecache.cpp
#	indra/newview/llviewermenu.h
#	indra/newview/skins/default/xui/en/menu_wearable_list_item.xml
2020-11-11 22:14:24 +02:00
Ansariel 78a79267e8 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2020-08-19 09:30:26 +02:00
Ansariel 000f3be01a Merge branch 'DRTVWR-507-maint' of https://bitbucket.org/lindenlab/viewer 2020-08-18 23:53:40 +02:00
Ansariel 0efda8f28d Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2020-08-18 22:41:20 +02:00
Nicky Dasmijn 7925f7c7c3 Merge remote-tracking branch 'fs/master' into linux-updates 2020-08-15 21:00:44 +02:00
Tonya Souther 46bd337096 FIRE-30019: Remove clamp on shared media size on Linux 2020-08-14 18:32:11 -05:00
Andrey Kleshchev 8213cc896c SL-3704 Give plugins some time to terminate
requestExit() doesn't close CEF, command sets CEF into closing state which will be processed on update()
2020-08-10 20:44:52 +03:00
Ansariel 705b5568c4 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2020-07-24 23:49:28 +02:00
Ansariel e5677c891a Merge branch 'DRTVWR-507-maint' of https://bitbucket.org/lindenlab/viewer 2020-07-24 20:15:15 +02:00
Nicky 15b13608ba Merge branch 'master' into linux-updates 2020-07-23 23:40:41 +02:00
Andrey Lihatskiy ae48c7c8b3 Merge branch 'master' into DRTVWR-513-maint
# Conflicts:
#	indra/llcommon/llerror.cpp
#	indra/newview/llappviewerwin32.cpp
#	indra/newview/llimprocessing.cpp
#	indra/newview/llviewerjoystick.cpp
2020-07-21 11:54:11 +03:00
Andrey Lihatskiy f77a30f740 Merge branch 'master' into DRTVWR-507-maint
# Conflicts:
#	autobuild.xml
2020-07-21 11:30:48 +03:00
Nicky Dasmijn f116ea4cb7 Merge remote-tracking branch 'fs/master' into fs-vs2017-d476
(Note: This removed our changed dullahan, but that's okay as it is
vs2013)
2020-07-20 09:58:30 +02:00
Andrey Kleshchev 383352c61c SL-13567 Users should have separate CEF contexts 2020-07-17 19:00:58 +03:00
Ansariel 187b1e0d6e Merge branch 'DRTVWR-513-maint' of https://bitbucket.org/lindenlab/viewer
# Conflicts:
#	indra/newview/llpanelpermissions.cpp
#	indra/newview/llviewerregion.h
#	indra/newview/llvoavatarself.cpp
#	indra/newview/llvovolume.cpp
#	indra/newview/skins/default/xui/en/menu_attachment_self.xml
#	indra/newview/skins/default/xui/en/menu_avatar_self.xml
#	indra/newview/skins/default/xui/en/menu_viewer.xml
2020-07-09 10:08:42 +02:00
Andrey Kleshchev 52ff68ce51 SL-13497 Sometimes plugin process isn't terminated correctly. 2020-07-06 20:13:01 +03:00
Nat Goodspeed 77cf4588df DRTVWR-476: Merge branch 'master' of lindenlab/viewer into d476
following release of D512.
2020-06-23 22:03:43 -04:00
Ansariel 77f56fa7bf Merge branch 'DRTVWR-512' of https://bitbucket.org/lindenlab/viewer 2020-05-31 15:27:02 +02:00
Nicky Dasmijn d1f6441751 Merge branch 'master' into linux-updates 2020-05-30 18:00:33 +02:00
Nicky Dasmijn cff453ff51 Merge remote-tracking branch 'eep/master' into fs-eep-vs2017 2020-05-20 13:49:20 +02:00
Nat Goodspeed ca6f092929 DRTVWR-476: Merge branch 'master' of lindenlab/viewer into DRTVWR-476-boost-1.72 2020-05-06 16:06:26 -04:00
Callum Prentice 9c78928311 Initial port of the changes from DRTVWR509 (Adult Swim) minus the volume fall-off settings updates 2020-04-28 10:57:17 -07:00
Anchor b5bb0794f0 [DRTVWR-476] - fix linking 2020-03-25 18:39:20 -04:00
Nat Goodspeed 5e7df752a6 DRTVWR-494: Use std:🧵:id for LLThread::currentID().
LLThread::currentID() used to return a U32, a distinct unsigned value
incremented by explicitly constructing LLThread or by calling LLThread::
registerThreadID() early in a thread launched by other means. The latter
imposed an unobvious requirement on new code based on std::thread. Using
std:🧵:id instead delegates to the compiler/library the problem of
distinguishing threads launched by any means.

Change lots of explicit U32 declarations. Introduce LLThread::id_t typedef to
avoid having to run around fixing uses again if we later revisit this decision.

LLMutex, which stores an LLThread::id_t, wants a distinguished value meaning
NO_THREAD, and had an enum with that name. But as std:🧵:id promises
that the default-constructed value is distinct from every valid value,
NO_THREAD becomes unnecessary and goes away.

Because LLMutex now stores LLThread::id_t instead of U32, make llmutex.h
#include "llthread.h" instead of the other way around. This makes LLMutex an
incomplete type within llthread.h, so move LLThread::lockData() and
unlockData() to the .cpp file. Similarly, remove llrefcount.h's #include
"llmutex.h" to break circularity; instead forward-declare LLMutex.

It turns out that a number of source files assumed that #include "llthread.h"
would get the definition for LLMutex. Sprinkle #include "llmutex.h" as needed.

In the SAFE_SSL code in llcorehttp/httpcommon.cpp, there's an ssl_thread_id()
callback that returns an unsigned long to the SSL library. When LLThread::
currentID() was U32, we could simply return that. But std:🧵:id is very
deliberately opaque, and can't be reinterpret_cast to unsigned long.
Fortunately it can be hashed because std::hash is specialized with that type.
2020-03-25 15:28:17 -04:00
Dave Houlton 2a6b48c9b0 DRTVWR-440, merge in latest from 6.3.7 release 2020-01-28 17:26:45 -07:00
Nicky Dasmijn a135b5b428 Merge remote-tracking branch 'origin/ll-vs2017' into fs-vs2017 2019-12-21 13:14:51 +01:00
Nicky Dasmijn 7f9bce5ada Merge branch 'master' into fs-vs2017 2019-12-21 01:52:19 +01:00
Nicky Dasmijn 5e23499660 Merge branch 'master' into linux-updates 2019-12-18 10:34:06 +01:00
Dave Houlton f61a5c4642 Merge viewer-release 6.3.6 into viewwer-eep repo 2019-12-16 12:47:19 -07:00
Nat Goodspeed 218c0a1d4f Automated merge with ssh://bitbucket.org/nat_linden/viewer-llsingleton 2019-12-13 13:20:21 -05:00
Nat Goodspeed 24499ac66f Automated merge with ssh://bitbucket.org/lindenlab/viewer-release 2019-12-13 12:30:03 -05:00
Ansariel da365b227e Merge Firestorm LGPL 2019-12-13 18:15:19 +01:00
Nat Goodspeed 55d7ac5e81 DRTVWR-494: Use std:🧵:id for LLThread::currentID().
LLThread::currentID() used to return a U32, a distinct unsigned value
incremented by explicitly constructing LLThread or by calling LLThread::
registerThreadID() early in a thread launched by other means. The latter
imposed an unobvious requirement on new code based on std::thread. Using
std:🧵:id instead delegates to the compiler/library the problem of
distinguishing threads launched by any means.

Change lots of explicit U32 declarations. Introduce LLThread::id_t typedef to
avoid having to run around fixing uses again if we later revisit this decision.

LLMutex, which stores an LLThread::id_t, wants a distinguished value meaning
NO_THREAD, and had an enum with that name. But as std:🧵:id promises
that the default-constructed value is distinct from every valid value,
NO_THREAD becomes unnecessary and goes away.

Because LLMutex now stores LLThread::id_t instead of U32, make llmutex.h
#include "llthread.h" instead of the other way around. This makes LLMutex an
incomplete type within llthread.h, so move LLThread::lockData() and
unlockData() to the .cpp file. Similarly, remove llrefcount.h's #include
"llmutex.h" to break circularity; instead forward-declare LLMutex.

It turns out that a number of source files assumed that #include "llthread.h"
would get the definition for LLMutex. Sprinkle #include "llmutex.h" as needed.

In the SAFE_SSL code in llcorehttp/httpcommon.cpp, there's an ssl_thread_id()
callback that returns an unsigned long to the SSL library. When LLThread::
currentID() was U32, we could simply return that. But std:🧵:id is very
deliberately opaque, and can't be reinterpret_cast to unsigned long.
Fortunately it can be hashed because std::hash is specialized with that type.
2019-12-06 16:31:49 -05:00
Ansariel 3789a192dc Merge viewer-lynx 2019-10-16 22:48:57 +02:00
AndreyL ProductEngine 0ff935ca3c Brought back the changes from @andreyk for improved mouse scroll wheel performance (previously 8e228364f324) 2019-10-16 01:37:15 +03:00
Ansariel b1ae8def22 Merge Firestorm LGPL 2019-10-15 23:34:02 +02:00
AndreyL ProductEngine 885c56a660 Downstream merge from lindenlab/viewer-bear 2019-10-15 20:36:12 +03:00
Ansariel d59cd13de1 Merge viewer-bear 2019-10-09 22:43:10 +02:00
AndreyL ProductEngine 2f7b606202 Backed out changeset: 8e228364f324 2019-09-14 05:14:24 +03:00
AndreyL ProductEngine 548d688adf Backed out changeset: b4182ee25942 2019-09-14 05:14:07 +03:00