diff options
author | rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2006-07-13 09:51:57 +0000 |
---|---|---|
committer | rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2006-07-13 09:51:57 +0000 |
commit | 18c0fe03fc7688a739ac7cb69717cabe23df872b (patch) | |
tree | 7b5714c448525f27b6ccdb36a4af923f2a2b437b | |
parent | 9389fcfc68f7a1560a955d60e7505d7e75d5d81e (diff) |
BUILD : 1.7.14 (1086) BUGS : N/A NOTES : Applied gds socket buffering patch, we should play nice with inspircd now.
git-svn-id: svn://svn.anope.org/anope/trunk@1086 31f1291d-b8d6-0310-a050-a5561fc1590b
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@810 5417fbe8-f217-4b02-8779-1006273d7864
-rw-r--r-- | Changes | 1 | ||||
-rw-r--r-- | Makefile.in | 2 | ||||
-rw-r--r-- | src/modules.c | 26 | ||||
-rw-r--r-- | src/sockutil.c | 3 | ||||
-rw-r--r-- | version.log | 7 |
5 files changed, 22 insertions, 17 deletions
@@ -42,6 +42,7 @@ Provided by Anope Dev. <dev@anope.org> - 2006 06/21 F Syntax for NickServ SET MSG showed syntax for SET PRIVATE. [ #00] 06/26 F A few small bugs with module configure scripts. [ #00] 07/02 F Fixed readonly stuff on memoserv del. [#529] +07/13 F Fixed socket buffering, hopefully should make inspircd play nice. [ #00] Provided by ThaPrince <jon@vile.com> - 2006 05/19 A Plexus 3 support. [ #00] diff --git a/Makefile.in b/Makefile.in index e74b1ad77..db72760eb 100644 --- a/Makefile.in +++ b/Makefile.in @@ -97,7 +97,7 @@ profile_modules: profile_build @echo "*** All done, now (g)make install to install Anope/Modules"; language: - (cd lang ; $(MAKE) ${MAKEARGS} all language.h ; cp language.h ../include/) + (cd lang ; $(MAKE) ${MAKEARGS} all language.h ; ) headers: (cd include ; ${MAKE} ${MAKEARGS} ) diff --git a/src/modules.c b/src/modules.c index 2f42654da..ba93f317e 100644 --- a/src/modules.c +++ b/src/modules.c @@ -1718,21 +1718,17 @@ int moduleAddCallback(char *name, time_t when, void moduleCallBackRun(void) { ModuleCallBack *tmp; - if (!moduleCallBackHead) { - return; - } - tmp = moduleCallBackHead; - if (tmp->when <= time(NULL)) { - if (debug) - alog("debug: executing callback: %s", tmp->name ? tmp->name : "?"); - if (tmp->func) { - mod_current_module_name = tmp->owner_name; - tmp->func(tmp->argc, tmp->argv); - mod_current_module = NULL; - moduleCallBackDeleteEntry(NULL); /* delete the head */ - } - } - return; + + while ((tmp = moduleCallBackHead) && (tmp->when <= time(NULL))) { + if (debug) + alog("debug: executing callback: %s", tmp->name ? tmp->name : "<unknown>"); + if (tmp->func) { + mod_current_module_name = tmp->owner_name; + tmp->func(tmp->argc, tmp->argv); + mod_current_module = NULL; + moduleCallBackDeleteEntry(NULL); + } + } } /** diff --git a/src/sockutil.c b/src/sockutil.c index d5f390fbf..2308dd528 100644 --- a/src/sockutil.c +++ b/src/sockutil.c @@ -415,6 +415,8 @@ char *sgets(char *buf, int len, ano_socket_t s) fd_set fds; char *ptr = buf; + flush_write_buffer(0); + if (len == 0) return NULL; FD_SET(s, &fds); @@ -424,6 +426,7 @@ char *sgets(char *buf, int len, ano_socket_t s) (c = select(s + 1, &fds, NULL, NULL, &tv)) < 0) { if (ano_sockgeterr() != EINTR) break; + flush_write_buffer(0); } if (read_buffer_len() == 0 && c == 0) return (char *) -1; diff --git a/version.log b/version.log index a8e14edf6..edf06c3ff 100644 --- a/version.log +++ b/version.log @@ -9,10 +9,15 @@ VERSION_MAJOR="1" VERSION_MINOR="7" VERSION_PATCH="14" VERSION_EXTRA="" -VERSION_BUILD="1085" +VERSION_BUILD="1086" # $Log$ # +# BUILD : 1.7.14 (1086) +# BUGS : N/A +# NOTES : Applied gds socket buffering patch, we should play nice with inspircd now. +# +# # BUILD : 1.7.14 (1085) # BUGS : 544 # NOTES : Applied Heinzy-mcHeinzs documentation update |