YoushouldhavereceivedacopyoftheGNUGeneralPublicLicense alongwiththisprogram;ifnot,writetotheFreeSoftware
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
private: enum status {ST_UP, ST_DOWN, ST_STOPPING}; enum status m_status; /* Protectm_status,m_slaves_changedandm_slaves.ackthreadandother sessionmayaccessthevariablesatthesametime.
*/
mysql_mutex_t m_mutex;
mysql_cond_t m_cond, m_cond_reply; /* If slave list is updated(add or remove). */ bool m_slaves_changed;
Slave_ilist m_slaves;
pthread_t m_pid;
/* Declare them private, so no one can copy the object. */
Ack_receiver(const Ack_receiver &ack_receiver);
Ack_receiver& operator=(const Ack_receiver &ack_receiver);
bool listen_on_sockets()
{ /* Reinitialize the fds with active fds before calling select */
m_fds= m_init_fds; /* select requires max fd + 1 for the first argument */ return select((int) m_max_fd+1, &m_fds, NULL, NULL, NULL);
}
int init_slave_sockets()
{
Slave_ilist_iterator it(const_cast<Slave_ilist&>(m_slaves));
Slave *slave;
uint fds_index= 0;
FD_ZERO(&m_init_fds);
m_max_fd= -1;
/* First put in the signal socket */
FD_SET(local_read_signal, &m_init_fds);
fds_index++;
set_if_bigger(m_max_fd, local_read_signal); #ifndef _WIN32 if (local_read_signal > FD_SETSIZE)
{ int socket_id= local_read_signal;
sql_print_error("Semisync slave socket fd is %u. " "select() cannot handle if the socket fd is " "greater than %u (FD_SETSIZE).", socket_id, FD_SETSIZE); return -1;
} #endif
while ((slave= it++))
{
my_socket socket_id= slave->sock_fd();
set_if_bigger(m_max_fd, socket_id); #ifndef _WIN32 if (socket_id > FD_SETSIZE)
{
sql_print_error("Semisync slave socket fd is %u. " "select() cannot handle if the socket fd is " "greater than %u (FD_SETSIZE).", socket_id, FD_SETSIZE);
it.remove(); continue;
} #endif//_WIN32
FD_SET(socket_id, &m_init_fds);
fds_index++;
slave->active= 1;
} return fds_index;
}
my_socket get_max_fd() { return m_max_fd; }
};
#endif//HAVE_POLL
extern Ack_receiver ack_receiver; #endif
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-10-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.