Skip to content
Snippets Groups Projects
  1. Jul 29, 2023
  2. Dec 07, 2022
  3. May 19, 2022
  4. May 06, 2022
  5. Apr 30, 2022
  6. Apr 19, 2022
  7. Apr 17, 2022
    • Nicky's avatar
      Switch to target_include_directories · e0cf0cdf
      Nicky authored
      All 3Ps include dirs are treated as SYSTEM, this will stop compilers
      stop emitting warnings from those files and greatly helps having high
      warning levels and not being swamped by warnings that come from
      external libraries.
      e0cf0cdf
  8. Apr 16, 2022
  9. Apr 06, 2022
  10. Dec 14, 2021
  11. Oct 11, 2021
  12. Oct 08, 2021
  13. Sep 01, 2021
    • Callum Linden's avatar
      SL-15867 User not logged in - very much the MVS (minimum viable solution) but... · f949415a
      Callum Linden authored
      SL-15867 User not logged in - very much the MVS (minimum viable solution) but by storing the OpenID cookie when it arrives then injecting it forcefully into each new media instance, it appears that the 'not logged in' problem is solved - at least in my testing, 20+ times logging in without a cache and profiles, dashboard etc. were all logged in - QA will confirm. The full solution involves providing a separate cache for each media instance and tightening up the CEF cookie calling code - that is a large project and this is sufficient for now
      f949415a
    • Callum Linden's avatar
      SL-15867 User not logged in - very much the MVS (minimum viable solution) but... · b12dd38c
      Callum Linden authored
      SL-15867 User not logged in - very much the MVS (minimum viable solution) but by storing the OpenID cookie when it arrives then injecting it forcefully into each new media instance, it appears that the 'not logged in' problem is solved - at least in my testing, 20+ times logging in without a cache and profiles, dashboard etc. were all logged in - QA will confirm. The full solution involves providing a separate cache for each media instance and tightening up the CEF cookie calling code - that is a large project and this is sufficient for now
      b12dd38c
  14. Aug 20, 2021
  15. Jul 12, 2021
  16. Jun 07, 2021
  17. May 24, 2021
  18. May 17, 2021
    • Nat Goodspeed's avatar
      SL-15200: Add LLApp::sleep(duration) methods. · d313d702
      Nat Goodspeed authored
      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.
      d313d702
  19. Feb 10, 2021
  20. Nov 11, 2020
  21. Aug 10, 2020
  22. Jul 17, 2020
  23. Jul 06, 2020
  24. Apr 28, 2020
  25. Mar 25, 2020
    • Anchor's avatar
      [DRTVWR-476] - fix linking · b5bb0794
      Anchor authored
      b5bb0794
    • Nat Goodspeed's avatar
      DRTVWR-494: Use std::thread::id for LLThread::currentID(). · 5e7df752
      Nat Goodspeed authored
      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::thread::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::thread::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::thread::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.
      5e7df752
  26. Oct 15, 2019
  27. Sep 13, 2019
  28. Jul 01, 2019
  29. Jun 11, 2019
  30. Jun 10, 2019
  31. Apr 24, 2019
Loading