• aelkin/elkin@koti.dsl.inet.fi's avatar
    Bug #34305 show slave status handling segfaults when slave io is about · 51b33ea3
    aelkin/elkin@koti.dsl.inet.fi authored
        to leave
    
    The artifact was caused by
    a flaw in concurrent accessing the slave's io thd by
    the io itself and a handling show slave status thread.
    Namely, show_master_info did not acquire mi->run_lock mutex that is
    specified for mi->io_thd member.
    
    Fixed with deploying the mutex locking and unlocking. The mutex is kept
    short time and without interleaving with mi->data_lock mutex.
    
    Todo: to report and fix an issue with 
        sys_var_slave_skip_counter::{methods} 
    seem to acquire incorrectly
         active_mi->rli.run_lock
    instead of the specified
         active_mi->rli.data_lock
    
    A test case is difficult to compose, so rpl_packet should continue serving
    as the indicator.
    51b33ea3
slave.h 21.5 KB