void handle_msgs_from_host() { unsigned int i; DB_MSG_FROM_HOST mfh; int retval; for (i=0; i<g_request->msgs_from_host.size(); i++) { g_reply->send_msg_ack = true; MSG_FROM_HOST_DESC& md = g_request->msgs_from_host[i]; mfh.clear(); mfh.create_time = time(0); safe_strcpy(mfh.variety, md.variety); mfh.hostid = g_reply->host.id; mfh.handled = false; safe_strcpy(mfh.xml, md.msg_text.c_str()); log_messages.printf(MSG_NORMAL, "got msg from host; variety %s \n", mfh.variety ); retval = mfh.insert(); if (retval) { log_messages.printf(MSG_CRITICAL, "[HOST#%d] message insert failed: %s\n", g_reply->host.id, boincerror(retval) ); g_reply->send_msg_ack = false; // may as well return; if one insert failed, others will too // return; } } }