JavaScriptCore:

        Reviewed by Geoff.

	<rdar://problem/4139620> Seed: WebKit: hang when sending XMLHttpRequest if automatic proxy config is used

	Also factored locking code completely into a separate class, and
	added a convenient packaged way to temporarily drop locks.

        * JavaScriptCore.xcodeproj/project.pbxproj:
        * kjs/JSLock.cpp: Added.
        (KJS::initializeInterpreterLock):
        (KJS::InterpreterLock::lock):
        (KJS::InterpreterLock::unlock):
        (KJS::InterpreterLock::lockCount):
        (KJS::InterpreterLock::DropAllLocks::DropAllLocks):
        (KJS::InterpreterLock::DropAllLocks::~DropAllLocks):
        * kjs/JSLock.h: Added.
        (KJS::InterpreterLock::InterpreterLock):
        (KJS::InterpreterLock::~InterpreterLock):
        * kjs/internal.cpp:
        * kjs/internal.h:
        * kjs/interpreter.cpp:
        * kjs/interpreter.h:
        * kjs/protect.h:
        * kjs/testkjs.cpp:
        (TestFunctionImp::callAsFunction):

WebCore:

        Reviewed by Geoff.

	<rdar://problem/4139620> Seed: WebKit: hang when sending XMLHttpRequest if automatic proxy config is used

        * khtml/ecma/kjs_events.cpp:
        (KJS::JSLazyEventListener::parseCode):
        * khtml/ecma/xmlhttprequest.cpp:
        (KJS::XMLHttpRequest::send):
        * kwq/WebCoreJavaScript.mm:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11284 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/JavaScriptCore/kjs/config.h b/JavaScriptCore/kjs/config.h
index 6293ded..8c38725 100644
--- a/JavaScriptCore/kjs/config.h
+++ b/JavaScriptCore/kjs/config.h
@@ -10,6 +10,8 @@
 #define HAVE_SYS_TIME_H 1
 #define HAVE_SYS_TIMEB_H 1
 
+#define KJS_MULTIPLE_THREADS 1
+
 #elif WIN32
 
 #define HAVE_FLOAT_H 1