FastCGI server - is just a tcp server with own communication protocol, like many others. It does not matter how it was designed more than 20 years ago, when perl has no ithreads and apache can run only cgi scripts.
Problem not in incorrect FastCGI usage and misunderstanding FastCGI specification, but in FCGI.pm implementation, that does not meet the modern requirements.
In context of this task there is no difference between threads and processes. I don't use shared variables, etc...
Please, suggest solution to shutdown thread correctly, if you know how.