You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by we...@apache.org on 2010/03/25 14:46:03 UTC
svn commit: r927400 - in
/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting:
core/util/WeavingContext.java refresh/FileChangedDaemon.java
Author: werpu
Date: Thu Mar 25 13:46:03 2010
New Revision: 927400
URL: http://svn.apache.org/viewvc?rev=927400&view=rev
Log:
http://issues.apache.org/jira/browse/EXTSCRIPT-104
fixup for a weird npe shutdown race condition where a central thread local holder is nulled early
Modified:
myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/core/util/WeavingContext.java
myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/refresh/FileChangedDaemon.java
Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/core/util/WeavingContext.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/core/util/WeavingContext.java?rev=927400&r1=927399&r2=927400&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/core/util/WeavingContext.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/core/util/WeavingContext.java Thu Mar 25 13:46:03 2010
@@ -165,6 +165,10 @@ public class WeavingContext {
* @return a ScriptingWeaver chain for all weavers currently supported
*/
public static ScriptingWeaver getWeaver() {
+ //shutting down condition _weaverHolder == null due to separate thread
+ if(_weaverHolder == null) {
+ return null;
+ }
ScriptingWeaver weaver = (ScriptingWeaver) _weaverHolder.get();
if (weaver == null) {
Logger log = Logger.getLogger(WeavingContext.class.getName());
Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/refresh/FileChangedDaemon.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/refresh/FileChangedDaemon.java?rev=927400&r1=927399&r2=927400&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/refresh/FileChangedDaemon.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/refresh/FileChangedDaemon.java Thu Mar 25 13:46:03 2010
@@ -124,8 +124,9 @@ public class FileChangedDaemon extends T
* as marks the engine as having to do a full recompile
*/
private final void checkForChanges() {
-
- WeavingContext.getWeaver().scanForAddedClasses();
+ ScriptingWeaver weaver = WeavingContext.getWeaver();
+ if(weaver == null) return;
+ weaver.scanForAddedClasses();
//TODO move this code also into the weaver so that
//we have it centralized