• It caused typical global variable issues, showing in the retained
    messages recursive alghorithm breaking, because the referenced subtopics
    changed half way (see previous commit of the test for it).
    
    I need to perform some benchmarks to see if I need to devise an
    alternative.
    Wiebe Cazemier authored
     
    Browse File »

  • One fix is client destruction happening on the correct thread (when
    kicking another one off with existing client ID). This caused deadlocks
    on the subscriptions lock during a race condition when
    doKeepAliveCheck() also ran.
    
    A related deadlock was that the queued functions were executed while
    holding the lock taskQueueMutex. Together with the subscriptions lock,
    that was executed in the $SYS topic function, this also caused
    deadlocks.
    Wiebe Cazemier authored
     
    Browse File »













  • Instead of getting it from the sender of a packet. Sometimes there was
    no sender.
    
    This fixes a crash on retained messages, because those newly created
    packets didn't have a sender to get the threaddata from. So, using a
    special object for it is easier and more robust.
    Wiebe Cazemier authored
     
    Browse File »