He is correct. The recover_33 procs work as 3 procs together.
The sendOK proc expects the global to be empty when it gets a new message. If not, that indicates the previous message was not handled and you are haeded for serious memory leaks.
Why would you have a timeout and then do nothing?