[
https://issues.apache.org/jira/browse/DERBY-2564?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12542897
]
Knut Anders Hatlen commented on DERBY-2564:
-------------------------------------------
Thread.interrupt() calls Thread.checkAccess() which calls
SecurityManager.checkAccess(Thread).
http://java.sun.com/javase/6/docs/api/java/lang/SecurityManager.html#checkAccess(java.lang.Thread)
says:
> If the thread argument is a system thread (belongs to the thread
> group with a null parent) then this method calls checkPermission
> with the RuntimePermission("modifyThread") permission. If the thread
> argument is not a system thread, this method just returns silently.
My guess is that none of Derby's threads are system threads, and
therefore no permissions are needed with a default security manager.
> ContextService.notifyAllActiveThreads() needs a privileged block around the
> call to Thread.interrupt()
> ------------------------------------------------------------------------------------------------------
>
> Key: DERBY-2564
> URL: https://issues.apache.org/jira/browse/DERBY-2564
> Project: Derby
> Issue Type: Bug
> Components: Security
> Affects Versions: 10.0.2.0, 10.0.2.1, 10.1.1.0, 10.1.2.1, 10.1.3.1,
> 10.2.1.6, 10.2.2.0
> Reporter: Rick Hillegas
>
> It looks to me as though the call to interrupt() can raise a
> SecurityException. I think this may give rise to another permission that we
> need to add to our template policy file and to our security documentation.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.