This is the fix based on Greg's comment
I need to remove the lock from here as this is the common function called whether connection is available or not.
If it is been called from _submit_message() which is not accepting connection , the lock would have been already taken and this lock will assert.
Localized my change for io path only..