| 688 | } |
| 689 | |
| 690 | connect_monitor* connect_manager::stop_monitor(bool graceful /* = true */) |
| 691 | { |
| 692 | connect_monitor* monitor = monitor_; |
| 693 | |
| 694 | if (monitor) { |
| 695 | // �Ƚ����Ӽ������� NULL |
| 696 | monitor_ = NULL; |
| 697 | |
| 698 | // ��֪ͨ����߳�ֹͣ������ |
| 699 | monitor->stop(graceful); |
| 700 | |
| 701 | // �ٵȴ�����߳��˳� |
| 702 | monitor->wait(); |
| 703 | } |
| 704 | |
| 705 | return monitor; |
| 706 | } |
| 707 | |
| 708 | void connect_manager::set_pools_status(const char* addr, bool alive) |
| 709 | { |