Commit Graph

6 Commits

Author SHA1 Message Date
rdb 0bb81a43c9 express: make a thread safe weak pointer implementation (#321)
To access a WeakPointerTo in a thread-safe way, use something like this:

    if (auto ptr = weak_ptr.lock()) {
      ..use ptr as regular PointerTo
    }

The new implementation no longer needs a reference to be stored to all weak pointers on the WeakReferenceList; a mere count of weak pointers is sufficient.  Therefore, callbacks theoretically no longer require a WeakPointerTo to be constructed.

The WeakPointerTo class is not actually atomic; it could be made so, but I don't believe it's worth it at this time.
2018-05-15 13:40:21 +02:00
Sam Edwards 9852ada792 dtoolbase: Change export macros to EXP*_DTOOL_DTOOLBASE
This is for consistency with `panda`, which follows this format.
2018-03-25 13:17:52 -06:00
tobspr 0fcfb8e372 New file headers, new comment style 2016-02-17 17:47:48 +01:00
rdb 3b17e8fff1 Fix issue tracking memory allocations of more than 2GB at a time on 64-bit systems 2015-04-14 15:44:11 +02:00
rdb c3bf91d608 GCC atomics also work in clang 3.0+ 2014-10-21 20:49:58 +00:00
rdb 1be0fb5169 Add atomic adjust impl that uses GCC intrinsics. Also, make use of "constexpr" when available. 2014-07-17 13:11:06 +00:00