which Mantis are you talking about? mine's not offline, it just moved to
www.bugs.exirc.net. if you try to access an old link just replace "boxxor" with "exirc" within it and it should work again, i migrated the whole database and IDs didn't change.
anyway, thanks for pointing that bug out. not many, but some people still have socket issues with xREDIRECT - maybe we have found the root of that now.
i remember a long time ago xREDIRECT had lag issues in some situations. by that time it was designed to constantly close and open sockets for each query - being done every 20 seconds i didn't think it could in any way cause a lag, especially with UDP where no persistent state needs to be handled. but then again of course some resources still have to be allocated and held open and on top of that most firewalls use SPI or any other guesswork, trying to detect and remember a connection for a connectionless protocol, which isn't the easiest job
so i changed that and not closing the socket anymore helped with that, no lags anymore.
when i did the change i was expecting that all file handles would be closed when any form of plugin unload occurs. but according to that bug entry that isn't the case, so yes, that would mean sockets stay open.
of course i will try to fix that in xREDIRECT - implementing plugin_end() with a socket_close should do the job. probably it's also a good idea to do the same on plugin_pause().
i am still happy to see that it will be changed in AMXX 1.8.2 too - many people are still using older xREDIRECT versions and closing the AMXX bug will make my earlier assumption become true and make those versions work clean too.
my time is very limited, if you want to speed up a release with the fix you could help me (again) and try a quick fix approach. just add this to the end of the xREDIRECT source before the line with "#else":
Code:
public close_sockets()
{
new nCounter
for (nCounter = 0; nCounter < MAX_SERVERFORWARDS; nCounter++)
{
if (g_naServerSockets[nCounter] > 0)
{
socket_close(g_naServerSockets[nCounter])
g_naServerSockets[nCounter] = 0
}
}
}
public plugin_end()
{
close_sockets()
}
public plugin_pause()
{
close_sockets()
}
please use the stable as base version.
it would really help if especially you could test it, because you can do the direct before-after-comparison.
__________________