tree 659f8645fce89ec593a2ce2fff77e85dc88bd3a6
parent 3adac088492a7e4c837a2bd2e35bf0e15b1e4027
author Thierry FOURNIER <tfournier@arpalert.org> 1443020368 +0200
committer Willy Tarreau <w@1wt.eu> 1443344588 +0200
encoding latin1

BUG/MEDIUM: lua: forces a garbage collection

When a thread stops this patch forces a garbage collection which
cleanup and free the memory.

The HAProxy Lua Socket class contains an HAProxy session, so it
uses a big amount of memory, in other this Socket class uses a
filedescriptor and maintain a connection open.

If the class Socket is stored in a global variable, the Socket stay
alive along of the life of the process (except if it is closed by the
other size, or if a timeout is reached). If the class Socket is stored
in a local variable, it must die with this variable.

The socket is closed by a call from the garbage collector. And the
portability and use of a variable is known by the same garbage collector.

so, running the GC just after the end of all Lua code ensure that the
heavy resources like the socket class are freed quickly.
