| 573 | } |
| 574 | |
| 575 | void Repl_semi_sync_master::remove_slave() |
| 576 | { |
| 577 | lock(); |
| 578 | DBUG_ASSERT(rpl_semi_sync_master_clients > 0); |
| 579 | if (!(--rpl_semi_sync_master_clients) && !rpl_semi_sync_master_wait_no_slave |
| 580 | && get_master_enabled()) |
| 581 | { |
| 582 | /* |
| 583 | Signal transactions waiting in commit_trx() that they do not have to |
| 584 | wait anymore. |
| 585 | */ |
| 586 | DBUG_ASSERT(m_active_tranxs); |
| 587 | m_active_tranxs->clear_active_tranx_nodes(NULL, 0, |
| 588 | signal_waiting_transaction); |
| 589 | } |
| 590 | unlock(); |
| 591 | } |
| 592 | |
| 593 | |
| 594 | /* |
no test coverage detected