Notice to GitKraken users: A vulnerability has been found in the SSH key generation of GitKraken versions 7.6.0 to 8.0.0 (https://www.gitkraken.com/blog/weak-ssh-key-fix). If you use GitKraken and have generated a SSH key using one of these versions, please remove it both from your local workstation and from your LRZ GitLab profile.

21.10.2021, 9:00 - 11:00: Due to updates GitLab may be unavailable for some minutes between 09:00 and 11:00.

  • Christian Schulte zu Berge's avatar
    Introducing sigslot::concurrent_pointer_list<T> a list-like container allowing... · 8671e65c
    Christian Schulte zu Berge authored
    Introducing sigslot::concurrent_pointer_list<T> a list-like container allowing thread-safe bidirectional iteration, insertion and removal of elements. Single constraint is that the element type must be a pointer type (or at least have pointer semantics) and never be 0. This is neat, as this class offers exactly what we need for a lock-free sigslot implementation.
    
    Updated sigslot implementation to use concurrent_pointer_list for connection storage. Hence, we can get rid of the locking mechanisms, which got completely removed.
    
    Since this simplified template definitions for sigslot, many campvis files needed to be adapted (i.e. removing the <> from has_slots<> and signal0<>).
    
    refs #384
    
    Conflicts:
    	core/classification/genericgeometrytransferfunction.h
    	core/eventhandlers/trackballnavigationeventlistener.h
    	core/pipeline/processordecoratormasking.h
    	core/properties/propertycollection.h
    	core/properties/transferfunctionproperty.h
    	core/tools/opengljobprocessor.h
    8671e65c
datacontainer.h 7.12 KB