paulrutter opened a new pull request, #556:
URL: https://github.com/apache/felix-dev/pull/556
Split out of #433, where it was unrelated to the Java 25 work it was bundled
with.
`UpdateThread.terminate()` falls back to killing the worker when it fails to
join within 5 seconds:
```java
Log.logger.log( LogService.LOG_ERROR,
"Worker thread {0} did not terminate within 5 seconds; trying to kill",
... );
workerThread.stop();
```
`Thread.stop()` has thrown `UnsupportedOperationException` unconditionally
**since Java 20**, so on any recent JDK this path can only make things worse:
instead of the thread being stopped, the exception propagates out of
`terminate()`, turning a slow shutdown into a failed one.
It now interrupts the worker instead, which is the supported mechanism and
releases the thread if it is waiting on an interruptible operation. The javadoc
and the log message are updated to match.
Found while getting the repository to build on JDK 25, but it is not a Java
25 issue — it has been broken since Java 20.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]