Squid internals The Helper API (src/helper.c) (ctd.) How it works Multiple copies of the external program are opened through calls to ipcCreate() Requests to helperSubmit() find the first avaliable process by walking the linked list of processes, and finding the first one which is alive and not busy If all the processes are busy, Enqueue() is called to place the request on a linked list to send when a process is free