The request record now contains the pid of the receive_term process #request.con_pid which allows to report back once the processing is done. After the receive_term function kicked the queue it waits for this signal (#request.con_pid ! done) that the request has been executed and calls itself with an extra receive-timeout parameter (e.g. 10seconds) preventing socket starvation.
This is implemented for call/cast in external and native handlers.