Hi, thanks for the reply
I realised last night that I had missed out a couple of key factors to my problem. The first is that each "thread" is actually a queued job on a Gridengine cluster so each "thread" isn't forked from the program that does the logging in and also the cluster is across multiple servers which have a shared disk space and network but obviously don't have access to each others' processes.
I guess I am using the term thread incorrectly
So after more thought about it I am going to investigate writing something that can serve the sessionID to "processes" via a port. And when it comes to renewing the sessionID to perhaps look for, or enforce a 10 second window to ensure the last "customer" has time to finish it's connection.
Unless, of course, there is a better way to do it.