if (argc > 1) {
for (int i = 1; i < argc; i++)
{
- if (!strcmp(argv[i],"-nofork")) {
+ if (!strcmp(argv[i],"-nofork"))
+ {
Config->nofork = true;
}
- if (!strcmp(argv[i],"-wait")) {
+ if (!strcmp(argv[i],"-wait"))
+ {
sleep(6);
}
- if (!strcmp(argv[i],"-nolimit")) {
- Config->unlimitcore = true;
+ if (!strcmp(argv[i],"-nolimit"))
+ {
+ printf("WARNING: The `-nolimit' option is deprecated, and now on by default. This behaviour may change in the future.\n");
}
- if (!strcmp(argv[i],"-logfile")) {
+ if (!strcmp(argv[i],"-logfile"))
+ {
if (argc > i+1)
{
strlcpy(LOG_FILE,argv[i+1],MAXBUF);
sockaddr_in sock_us; // our port number
socklen_t uslen; // length of our port number
- if (yield_depth > 3)
+ if (yield_depth > 100)
return;
yield_depth++;
* listening ports or module sockets though, things could get
* ugly.
*/
+ log(DEBUG,"There are %d fd's to process.",numberactive);
+
for (unsigned int activefd = 0; activefd < numberactive; activefd++)
{
int socket_type = SE->GetType(activefds[activefd]);
{
case X_ESTAB_CLIENT:
+ log(DEBUG,"Type: X_ESTAB_CLIENT: fd=%d",activefds[activefd]);
cu = fd_ref_table[activefds[activefd]];
if (cu)
ProcessUser(cu);
case X_ESTAB_MODULE:
+ log(DEBUG,"Type: X_ESTAB_MODULE: fd=%d",activefds[activefd]);
+
if (!process_module_sockets)
break;
s->Close();
delete s;
}
+ else if (!s)
+ {
+ log(DEBUG,"WTF, X_ESTAB_MODULE for nonexistent InspSocket, removed!");
+ SE->DelFd(s->GetFd());
+ }
break;
case X_ESTAB_DNS:
* and independent of the mainloop.
*/
#ifndef THREADED_DNS
+ log(DEBUG,"Type: X_ESTAB_DNS: fd=%d",activefds[activefd]);
dns_poll(activefds[activefd]);
#endif
break;
case X_LISTEN:
+ log(DEBUG,"Type: X_LISTEN_MODULE: fd=%d",activefds[activefd]);
+
/* It's a listener */
uslen = sizeof(sock_us);
length = sizeof(client);
* what we would do, so for now, its going
* to safely do bugger all.
*/
+ log(DEBUG,"Type: X_WHAT_THE_FUCK_BBQ: fd=%d",activefds[activefd]);
SE->DelFd(activefds[activefd]);
break;
}
LoadAllModules(this);
+ /* Just in case no modules were loaded - fix for bug #101 */
+ this->BuildISupport();
+
printf("\nInspIRCd is now running!\n");
if (!Config->nofork)