/* $CompileFlags: exec("mysql_config --include") */
/* $LinkerFlags: exec("mysql_config --libs_r") rpath("mysql_config --libs_r") */
/* $ModDep: m_sqlv2.h */
+/* $NoPedantic */
/* THE NONBLOCKING MYSQL API!
*
{
if (!HostInConf(conf, i->second->GetConfHost()))
{
- DELETE(i->second);
+ delete i->second;
safei = i;
--i;
Connections.erase(safei);
while ((i = Connections.begin()) != Connections.end())
{
Connections.erase(i);
- DELETE(i->second);
+ delete i->second;
}
}
/** Used by m_mysql to notify one thread when the other has a result
*/
-class Notifier : public InspSocket
+class Notifier : public BufferedSocket
{
insp_sockaddr sock_us;
socklen_t uslen;
/* Create a socket on a random port. Let the tcp stack allocate us an available port */
#ifdef IPV6
- Notifier(InspIRCd* SI) : InspSocket(SI, "::1", 0, true, 3000)
+ Notifier(InspIRCd* SI) : BufferedSocket(SI, "::1", 0, true, 3000)
#else
- Notifier(InspIRCd* SI) : InspSocket(SI, "127.0.0.1", 0, true, 3000)
+ Notifier(InspIRCd* SI) : BufferedSocket(SI, "127.0.0.1", 0, true, 3000)
#endif
{
uslen = sizeof(sock_us);
}
}
- Notifier(InspIRCd* SI, int newfd, char* ip) : InspSocket(SI, newfd, ip)
+ Notifier(InspIRCd* SI, int newfd, char* ip) : BufferedSocket(SI, newfd, ip)
{
}
}
ServerInstance->Modules->PublishInterface("SQL", this);
+ Implementation eventlist[] = { I_OnRehash, I_OnRequest };
+ ServerInstance->Modules->Attach(eventlist, this, 2);
}
virtual ~ModuleSQL()
}
- void Implements(char* List)
- {
- List[I_OnRehash] = List[I_OnRequest] = 1;
- }
unsigned long NewID()
{
return NULL;
}
- virtual void OnRehash(userrec* user, const std::string ¶meter)
+ virtual void OnRehash(User* user, const std::string ¶meter)
{
rehashing = true;
}
/* XXX: Unlock */
}
- usleep(50);
+ usleep(1000);
}
return NULL;
}
-MODULE_INIT(ModuleSQL);
+MODULE_INIT(ModuleSQL)