• 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
opengljobprocessor.h 8.54 KB