diff --git a/.github/workflows/test-devel.yml b/.github/workflows/test-devel.yml index 57dceb7..ea75cce 100644 --- a/.github/workflows/test-devel.yml +++ b/.github/workflows/test-devel.yml @@ -67,6 +67,7 @@ jobs: run: | cd $GITHUB_WORKSPACE/Bahamut/ patch src/s_user.c < $GITHUB_WORKSPACE/patches/bahamut_localhost.patch + patch src/s_bsd.c < $GITHUB_WORKSPACE/patches/bahamut_mainloop.patch echo "#undef THROTTLE_ENABLE" >> include/config.h libtoolize --force aclocal diff --git a/.github/workflows/test-stable.yml b/.github/workflows/test-stable.yml index 44996e5..5a414e1 100644 --- a/.github/workflows/test-stable.yml +++ b/.github/workflows/test-stable.yml @@ -67,6 +67,7 @@ jobs: run: | cd $GITHUB_WORKSPACE/Bahamut/ patch src/s_user.c < $GITHUB_WORKSPACE/patches/bahamut_localhost.patch + patch src/s_bsd.c < $GITHUB_WORKSPACE/patches/bahamut_mainloop.patch echo "#undef THROTTLE_ENABLE" >> include/config.h libtoolize --force aclocal diff --git a/Makefile b/Makefile index 0c82a97..201d2da 100644 --- a/Makefile +++ b/Makefile @@ -122,7 +122,8 @@ bahamut: $(PYTEST) $(PYTEST_ARGS) \ --controller=irctest.controllers.bahamut \ -m 'not services' \ - -n 10 \ + -n 4 \ + -vv -s \ -k '$(BAHAMUT_SELECTORS)' bahamut-atheme: @@ -130,7 +131,6 @@ bahamut-atheme: --controller=irctest.controllers.bahamut \ --services-controller=irctest.controllers.atheme_services \ -m 'services' \ - -n 10 \ -k '$(BAHAMUT_SELECTORS)' bahamut-anope: @@ -138,7 +138,6 @@ bahamut-anope: --controller=irctest.controllers.bahamut \ --services-controller=irctest.controllers.anope_services \ -m 'services' \ - -n 10 \ -k '$(BAHAMUT_SELECTORS)' charybdis: diff --git a/patches/bahamut_mainloop.patch b/patches/bahamut_mainloop.patch new file mode 100644 index 0000000..0e0f992 --- /dev/null +++ b/patches/bahamut_mainloop.patch @@ -0,0 +1,15 @@ +Lower Bahamut's delay between processing incoming commands + +diff --git a/src/s_bsd.c b/src/s_bsd.c +index fcc1d02..951fd8c 100644 +--- a/src/s_bsd.c ++++ b/src/s_bsd.c +@@ -1458,7 +1458,7 @@ int do_client_queue(aClient *cptr) + int dolen = 0, done; + + while (SBufLength(&cptr->recvQ) && !NoNewLine(cptr) && +- ((cptr->status < STAT_UNKNOWN) || (cptr->since - timeofday < 10) || ++ ((cptr->status < STAT_UNKNOWN) || (cptr->since - timeofday < 20) || + IsNegoServer(cptr))) + { + /* If it's become registered as a server, just parse the whole block */ diff --git a/workflows.yml b/workflows.yml index b626a32..97ee359 100644 --- a/workflows.yml +++ b/workflows.yml @@ -105,6 +105,7 @@ software: build_script: | cd $GITHUB_WORKSPACE/Bahamut/ patch src/s_user.c < $GITHUB_WORKSPACE/patches/bahamut_localhost.patch + patch src/s_bsd.c < $GITHUB_WORKSPACE/patches/bahamut_mainloop.patch echo "#undef THROTTLE_ENABLE" >> include/config.h libtoolize --force aclocal