This issue seems to be fixed. Thank you.
However, there is a remaining problem that I discovered upon further
testing. Here is the copy from the comment I wrote on JIRA:
I have realized that, "Thread::join()" raises a ThreadException if
"apr_thread_join" does not return success. After this fix for
TelnetAppender, the "sh.join()" call started raising this exception when
called during program shutdown. "apr_thread_join" seems to return 70008
in this situation. This prevents the client program from shutting down
cleanly.
For this reason I have added a try/catch around the "sh.join()" call.
Ufuk Kayserilioglu