<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>30678</bug_id>
          
          <creation_ts>2009-10-22 10:07:25 -0700</creation_ts>
          <short_desc>Database thread initialization not properly ifdef&apos;ed for JSC vs V8</short_desc>
          <delta_ts>2009-10-28 09:56:30 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Steve Block">steveblock</reporter>
          <assigned_to name="Steve Block">steveblock</assigned_to>
          <cc>benm</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>sam</cc>
    
    <cc>steveblock</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>156912</commentid>
    <comment_count>0</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2009-10-22 10:07:25 -0700</bug_when>
    <thetext>WebCore/storage/Database.cpp and WebCore/loader/icon/IconDatabase.cpp both use calls to initializeThreading(). These calls must be properly ifdef&apos;ed to use the appropriate JS engine - JSC or V8. These ifdefs are incomplete.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156914</commentid>
    <comment_count>1</comment_count>
      <attachid>41665</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2009-10-22 10:11:52 -0700</bug_when>
    <thetext>Created attachment 41665
Patch 1 for Bug 30678</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156920</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-22 10:39:10 -0700</bug_when>
    <thetext>Why can&apos;t we share this code?  Can&apos;t we make this go through ScriptController or otherwise make it generic?  This seems like the wrong approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156921</commentid>
    <comment_count>3</comment_count>
      <attachid>41665</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-22 10:39:44 -0700</bug_when>
    <thetext>Comment on attachment 41665
Patch 1 for Bug 30678

r- for above reasons.  At least the headers could easily use the same paths using things like ForwardingHeaders.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156966</commentid>
    <comment_count>4</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-10-22 12:07:00 -0700</bug_when>
    <thetext>AFAIK, there&apos;s no V8::initializeThreading defined anywhere?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157174</commentid>
    <comment_count>5</comment_count>
      <attachid>41730</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2009-10-23 09:58:12 -0700</bug_when>
    <thetext>Created attachment 41730
Patch 2 for Bug 30678

&gt; Can&apos;t we make this go through ScriptController or otherwise make it generic?
Done

&gt; AFAIK, there&apos;s no V8::initializeThreading defined anywhere?
Sorry, yes, my patches got out of order. This code is now included in this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157189</commentid>
    <comment_count>6</comment_count>
      <attachid>41730</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-23 11:08:42 -0700</bug_when>
    <thetext>Comment on attachment 41730
Patch 2 for Bug 30678

+    // Darwin is an exception to this rule: it is OK to call this function from any thread, even reentrantly.

The code does not back that up.  The JSC version has no reentrancy guard, but the V8 one does.  That seems to have little to do with darwin vs. non-darwin.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157842</commentid>
    <comment_count>7</comment_count>
      <attachid>41878</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2009-10-26 11:45:40 -0700</bug_when>
    <thetext>Created attachment 41878
Patch 3 for Bug 30678

&gt; (From update of attachment 41730 [details])
&gt; +    // Darwin is an exception to this rule: it is OK to call this function
&gt; from any thread, even reentrantly.
&gt;
&gt; The code does not back that up.  The JSC version has no reentrancy guard, but
&gt; the V8 one does.  That seems to have little to do with darwin vs. non-darwin.
You&apos;re right that the comment about Darwin on V8 is wrong - that was a copy-paste error - now fixed.

The comment for the JSC version is taken from JSC::initializeThreading() in JavaScriptCore/runtime/InitializeThreading.h, so should be correct. The implementation of ScriptController::initializeThreading() for V8 is the same as the logic in JSC::initializeThreading() (less the Darwin and JSC specifics). Both guard against repeated calls to the function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158417</commentid>
    <comment_count>8</comment_count>
      <attachid>41878</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-27 17:06:26 -0700</bug_when>
    <thetext>Comment on attachment 41878
Patch 3 for Bug 30678

Looks sane.  You might consider adding a comment in ScriptControolerV8::initializeThreading that any early-init calls which v8 needs for multi-threaded operation should be made there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158550</commentid>
    <comment_count>9</comment_count>
      <attachid>41878</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2009-10-28 06:54:07 -0700</bug_when>
    <thetext>Comment on attachment 41878
Patch 3 for Bug 30678

Commit queue is offline. Landing manually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158551</commentid>
    <comment_count>10</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2009-10-28 06:55:38 -0700</bug_when>
    <thetext>Committed r50215: &lt;http://trac.webkit.org/changeset/50215&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158611</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-28 09:56:30 -0700</bug_when>
    <thetext>Sorry.  The commit-queue recently got the hiccups.  :(  bug 30869</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41665</attachid>
            <date>2009-10-22 10:11:52 -0700</date>
            <delta_ts>2009-10-23 09:58:12 -0700</delta_ts>
            <desc>Patch 1 for Bug 30678</desc>
            <filename>ifdefInitializeThreading.txt</filename>
            <type>text/plain</type>
            <size>2634</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0OTk0MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMDktMTAtMjIgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZHMgaWZkZWZzIHRvIHVzZSB0aGUgY29ycmVjdCB2ZXJzaW9uIG9mIGluaXRpYWxpemVUaHJl
YWRpbmcgaW4gZGF0YWJhc2UgY29kZSwgZGVwZW5kaW5nCisgICAgICAgIG9uIHdoZXRoZXIgSlND
IG9yIFY4IGlzIGJlaW5nIHVzZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zMDY3OAorCisgICAgICAgIEJ1aWxkIGZpeCwgbm8gbmV3IHRlc3RzIHJl
cXVpcmVkLgorCisgICAgICAgICogbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcDogTW9kaWZp
ZWQuCisgICAgICAgIChXZWJDb3JlOjppY29uRGF0YWJhc2UpOiBBZGRlZCBpZmRlZnMgdG8gdXNl
IEpTQyBvciBWOCB2ZXJzaW9uIG9mIGluaXRpYWxpemVUaHJlYWRpbmcuCisgICAgICAgICogc3Rv
cmFnZS9EYXRhYmFzZS5jcHA6IE1vZGlmaWVkLgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2U6
OkRhdGFiYXNlKTogQWRkZWQgaWZkZWZzIHRvIHVzZSBKU0Mgb3IgVjggdmVyc2lvbiBvZiBpbml0
aWFsaXplVGhyZWFkaW5nLgorCiAyMDA5LTEwLTIyICBLZWlzaGkgSGF0dG9yaSAgPGNhc2V5Lmhh
dHRvcmlAZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCklu
ZGV4OiBXZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCShyZXZpc2lvbiA0OTkzNikKKysr
IFdlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzksMTEgKzM5LDE2IEBACiAjaW5jbHVkZSAiU1FMaXRlU3RhdGVtZW50LmgiCiAjaW5jbHVkZSAi
U1FMaXRlVHJhbnNhY3Rpb24uaCIKICNpbmNsdWRlICJTdWRkZW5UZXJtaW5hdGlvbi5oIgotI2lu
Y2x1ZGUgPHJ1bnRpbWUvSW5pdGlhbGl6ZVRocmVhZGluZy5oPgogI2luY2x1ZGUgPHd0Zi9DdXJy
ZW50VGltZS5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8d3RmL1N0
ZExpYkV4dHJhcy5oPgogCisjaWYgVVNFKEpTQykKKyNpbmNsdWRlIDxydW50aW1lL0luaXRpYWxp
emVUaHJlYWRpbmcuaD4KKyNlbGlmIFVTRShWOCkKKyNpbmNsdWRlICJJbml0aWFsaXplVGhyZWFk
aW5nLmgiCisjZW5kaWYKKwogLy8gRm9yIG1ldGhvZHMgdGhhdCBhcmUgbWVhbnQgdG8gc3VwcG9y
dCBBUEkgZnJvbSB0aGUgbWFpbiB0aHJlYWQgLSBzaG91bGQgbm90IGJlIGNhbGxlZCBpbnRlcm5h
bGx5CiAjZGVmaW5lIEFTU0VSVF9OT1RfU1lOQ19USFJFQUQoKSBBU1NFUlQoIW1fc3luY1RocmVh
ZFJ1bm5pbmcgfHwgIUlTX0lDT05fU1lOQ19USFJFQUQoKSkKIApAQCAtOTMsNyArOTgsMTEgQEAg
c3RhdGljIEljb25EYXRhYmFzZUNsaWVudCogZGVmYXVsdENsaWVudAogSWNvbkRhdGFiYXNlKiBp
Y29uRGF0YWJhc2UoKQogewogICAgIGlmICghc2hhcmVkSWNvbkRhdGFiYXNlKSB7CisjaWYgVVNF
KEpTQykKICAgICAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisjZWxpZiBVU0UoVjgp
CisgICAgICAgIFY4Ojppbml0aWFsaXplVGhyZWFkaW5nKCk7CisjZW5kaWYKICAgICAgICAgc2hh
cmVkSWNvbkRhdGFiYXNlID0gbmV3IEljb25EYXRhYmFzZTsKICAgICB9CiAgICAgcmV0dXJuIHNo
YXJlZEljb25EYXRhYmFzZTsKSW5kZXg6IFdlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlLmNwcAkocmV2aXNpb24gNDk5MzYp
CisrKyBXZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2
ICs1OCw4IEBACiAjaWYgVVNFKEpTQykKICNpbmNsdWRlICJKU0RPTVdpbmRvdy5oIgogI2luY2x1
ZGUgPHJ1bnRpbWUvSW5pdGlhbGl6ZVRocmVhZGluZy5oPgorI2VsaWYgVVNFKFY4KQorI2luY2x1
ZGUgIkluaXRpYWxpemVUaHJlYWRpbmcuaCIKICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC0xNjUsNiArMTY3LDggQEAgRGF0YWJhc2U6OkRhdGFiYXNlKERvY3VtZW50KiBkb2N1bWVu
dCwgYwogCiAjaWYgVVNFKEpTQykKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyNl
bGlmIFVTRShWOCkKKyAgICBWODo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwogI2VuZGlmCiAKICAg
ICBtX2d1aWQgPSBndWlkRm9yT3JpZ2luQW5kTmFtZShtX3NlY3VyaXR5T3JpZ2luLT50b1N0cmlu
ZygpLCBuYW1lKTsK
</data>
<flag name="review"
          id="23101"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41730</attachid>
            <date>2009-10-23 09:58:12 -0700</date>
            <delta_ts>2009-10-26 11:45:40 -0700</delta_ts>
            <desc>Patch 2 for Bug 30678</desc>
            <filename>initializeThreading2.txt</filename>
            <type>text/plain</type>
            <size>6209</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0OTk3NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMDktMTAtMjMgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZHMgU2NyaXB0Q29udHJvbGxlcjo6aW50aWFsaXplVGhyZWFkaW5nKCksIHdpdGggYm90aCBK
U0MgYW5kIFY4IGltcGxlbWVudGF0aW9ucy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTMwNjc4CisKKyAgICAgICAgVGhpcyBuZXcgbWV0aG9kIGlzIHVz
ZWQgZnJvbSBjb21tb24gY29kZSwgcmF0aGVyIHRoYW4gY2FsbGluZyBKU0M6OmluaXRpYWxpemVU
aHJlYWRpbmcoKSAob3IgdGhlIFY4IGVxdWl2YWxlbnQpIGRpcmVjdGx5LgorCisgICAgICAgIEJ1
aWxkIGZpeCwgbm8gbmV3IHRlc3RzIHJlcXVpcmVkLgorCisgICAgICAgICogYmluZGluZ3MvanMv
U2NyaXB0Q29udHJvbGxlci5jcHA6IE1vZGlmaWVkLgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
Q29udHJvbGxlcjo6aW5pdGlhbGl6ZVRocmVhZGluZyk6IEFkZGVkLgorICAgICAgICAqIGJpbmRp
bmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaDogTW9kaWZpZWQuIEFkZHMgU2NyaXB0Q29udHJvbGxl
cjo6aW5pdGlhbGl6ZVRocmVhZGluZygpLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdENv
bnRyb2xsZXIuY3BwOiBNb2RpZmllZC4KKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xs
ZXI6OmluaXRpYWxpemVUaHJlYWRpbmcpOiBBZGRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9T
Y3JpcHRDb250cm9sbGVyLmg6IE1vZGlmaWVkLiBBZGRzIFNjcmlwdENvbnRyb2xsZXI6OmluaXRp
YWxpemVUaHJlYWRpbmcoKS4KKyAgICAgICAgKiBsb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3Bw
OiBNb2RpZmllZC4KKyAgICAgICAgKFdlYkNvcmU6Omljb25EYXRhYmFzZSk6IENhbGwgU2NyaXB0
Q29udHJvbGxlcjo6aW5pdGlhbGl6ZVRocmVhZGluZygpLCByYXRoZXIgdGhhbiBKU0M6OmluaXRp
YWxpemVUaHJlYWRpbmcoKS4KKyAgICAgICAgKiBzdG9yYWdlL0RhdGFiYXNlLmNwcDogTW9kaWZp
ZWQuCisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZTo6RGF0YWJhc2UpOiBDYWxsIFNjcmlwdENv
bnRyb2xsZXI6OmluaXRpYWxpemVUaHJlYWRpbmcoKSwgcmF0aGVyIHRoYW4gSlNDOjppbml0aWFs
aXplVGhyZWFkaW5nKCkuCisKIDIwMDktMTAtMjMgIEdpcmlzaCBSYW1ha3Jpc2huYW4gIDxnaXJp
c2hAZm9yd2FyZGJpYXMuaW4+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSG9sZ2VyIEZyZXl0aGVy
LgpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCShyZXZpc2lv
biA0OTk3NSkKKysrIFdlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM5LDEyICszOSwxOCBAQAogI2luY2x1ZGUgIm5wcnVudGltZV9pbXBs
LmgiCiAjaW5jbHVkZSAicnVudGltZV9yb290LmgiCiAjaW5jbHVkZSA8ZGVidWdnZXIvRGVidWdn
ZXIuaD4KKyNpbmNsdWRlIDxydW50aW1lL0luaXRpYWxpemVUaHJlYWRpbmcuaD4KICNpbmNsdWRl
IDxydW50aW1lL0pTTG9jay5oPgogCiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKK3ZvaWQgU2NyaXB0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZVRocmVhZGluZygp
Cit7CisgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Cit9CisKIFNjcmlwdENvbnRyb2xs
ZXI6OlNjcmlwdENvbnRyb2xsZXIoRnJhbWUqIGZyYW1lKQogICAgIDogbV9mcmFtZShmcmFtZSkK
ICAgICAsIG1faGFuZGxlckxpbmVOdW1iZXIoMCkKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0Q29udHJvbGxlci5oCShyZXZpc2lvbiA0OTk3NSkKKysrIFdlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC05Niw2ICs5NiwxMCBAQCBwdWJs
aWM6CiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIGFyZ3VtZW50IGlzIGEgSmF2YVNjcmlwdCBVUkwu
CiAgICAgYm9vbCBleGVjdXRlSWZKYXZhU2NyaXB0VVJMKGNvbnN0IEtVUkwmLCBib29sIHVzZXJH
ZXN0dXJlID0gZmFsc2UsIGJvb2wgcmVwbGFjZURvY3VtZW50ID0gdHJ1ZSk7CiAKKyAgICAvLyBU
aGlzIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIGZyb20gdGhlIG1haW4gdGhyZWFkLiBJdCBpcyBz
YWZlIHRvIGNhbGwgaXQgcmVwZWF0ZWRseS4KKyAgICAvLyBEYXJ3aW4gaXMgYW4gZXhjZXB0aW9u
IHRvIHRoaXMgcnVsZTogaXQgaXMgT0sgdG8gY2FsbCB0aGlzIGZ1bmN0aW9uIGZyb20gYW55IHRo
cmVhZCwgZXZlbiByZWVudHJhbnRseS4KKyAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXplVGhyZWFk
aW5nKCk7CisKICAgICBTY3JpcHRWYWx1ZSBldmFsdWF0ZShjb25zdCBTY3JpcHRTb3VyY2VDb2Rl
Jik7CiAgICAgU2NyaXB0VmFsdWUgZXZhbHVhdGVJbldvcmxkKGNvbnN0IFNjcmlwdFNvdXJjZUNv
ZGUmLCBET01XcmFwcGVyV29ybGQqKTsKICAgICBTY3JpcHRWYWx1ZSBldmFsdWF0ZUluSXNvbGF0
ZWRXb3JsZCh1bnNpZ25lZCAvKndvcmxkSUQqLywgY29uc3QgU2NyaXB0U291cmNlQ29kZSYpOwpJ
bmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA0
OTk3NSkKKysrIFdlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTU1LDYgKzU1LDE1IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAordm9p
ZCBTY3JpcHRDb250cm9sbGVyOjppbml0aWFsaXplVGhyZWFkaW5nKCkKK3sKKyAgICBzdGF0aWMg
Ym9vbCBpbml0aWFsaXplZFRocmVhZGluZyA9IGZhbHNlOworICAgIGlmICghaW5pdGlhbGl6ZWRU
aHJlYWRpbmcpIHsKKyAgICAgICAgV1RGOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgICAg
IGluaXRpYWxpemVkVGhyZWFkaW5nID0gdHJ1ZTsKKyAgICB9Cit9CisKIHZvaWQgU2NyaXB0Q29u
dHJvbGxlcjo6c2V0RmxhZ3MoY29uc3QgY2hhciogc3RyaW5nLCBpbnQgbGVuZ3RoKQogewogICAg
IHY4OjpWODo6U2V0RmxhZ3NGcm9tU3RyaW5nKHN0cmluZywgbGVuZ3RoKTsKSW5kZXg6IFdlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
YmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5oCShyZXZpc2lvbiA0OTk3NSkKKysrIFdlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC02NSw2
ICs2NSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIFJldHVybnMgdHJ1ZSBp
ZiBhcmd1bWVudCBpcyBhIEphdmFTY3JpcHQgVVJMLgogICAgICAgICBib29sIGV4ZWN1dGVJZkph
dmFTY3JpcHRVUkwoY29uc3QgS1VSTCYsIGJvb2wgdXNlckdlc3R1cmUgPSBmYWxzZSwgYm9vbCBy
ZXBsYWNlRG9jdW1lbnQgPSB0cnVlKTsKIAorICAgICAgICAvLyBUaGlzIGZ1bmN0aW9uIG11c3Qg
YmUgY2FsbGVkIGZyb20gdGhlIG1haW4gdGhyZWFkLiBJdCBpcyBzYWZlIHRvIGNhbGwgaXQgcmVw
ZWF0ZWRseS4KKyAgICAgICAgLy8gRGFyd2luIGlzIGFuIGV4Y2VwdGlvbiB0byB0aGlzIHJ1bGU6
IGl0IGlzIE9LIHRvIGNhbGwgdGhpcyBmdW5jdGlvbiBmcm9tIGFueSB0aHJlYWQsIGV2ZW4gcmVl
bnRyYW50bHkuCisgICAgICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemVUaHJlYWRpbmcoKTsKKwog
ICAgICAgICAvLyBFdmFsdWF0ZSBhIHNjcmlwdCBmaWxlIGluIHRoZSBlbnZpcm9ubWVudCBvZiB0
aGlzIHByb3h5LgogICAgICAgICAvLyBJZiBzdWNjZWVkZWQsICdzdWNjJyBpcyBzZXQgdG8gdHJ1
ZSBhbmQgcmVzdWx0IGlzIHJldHVybmVkCiAgICAgICAgIC8vIGFzIGEgc3RyaW5nLgpJbmRleDog
V2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcAkocmV2aXNpb24gNDk5NzUpCisrKyBXZWJD
b3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDEw
ICszNiwxMCBAQAogI2luY2x1ZGUgIkljb25SZWNvcmQuaCIKICNpbmNsdWRlICJJbnRTaXplLmgi
CiAjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNp
bmNsdWRlICJTUUxpdGVTdGF0ZW1lbnQuaCIKICNpbmNsdWRlICJTUUxpdGVUcmFuc2FjdGlvbi5o
IgogI2luY2x1ZGUgIlN1ZGRlblRlcm1pbmF0aW9uLmgiCi0jaW5jbHVkZSA8cnVudGltZS9Jbml0
aWFsaXplVGhyZWFkaW5nLmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVk
ZSA8d3RmL01haW5UaHJlYWQuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CkBAIC05
Myw3ICs5Myw3IEBAIHN0YXRpYyBJY29uRGF0YWJhc2VDbGllbnQqIGRlZmF1bHRDbGllbnQKIElj
b25EYXRhYmFzZSogaWNvbkRhdGFiYXNlKCkKIHsKICAgICBpZiAoIXNoYXJlZEljb25EYXRhYmFz
ZSkgewotICAgICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICAgICAgU2NyaXB0
Q29udHJvbGxlcjo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwogICAgICAgICBzaGFyZWRJY29uRGF0
YWJhc2UgPSBuZXcgSWNvbkRhdGFiYXNlOwogICAgIH0KICAgICByZXR1cm4gc2hhcmVkSWNvbkRh
dGFiYXNlOwpJbmRleDogV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2UuY3BwCShyZXZpc2lvbiA0OTk3NSkKKysrIFdlYkNv
cmUvc3RvcmFnZS9EYXRhYmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2LDcgQEAK
ICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRl
ICJPcmlnaW5RdW90YU1hbmFnZXIuaCIKKyNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiU1FMaXRlRGF0YWJhc2UuaCIKICNpbmNsdWRlICJTUUxpdGVGaWxlU3lzdGVtLmgi
CiAjaW5jbHVkZSAiU1FMaXRlU3RhdGVtZW50LmgiCkBAIC01Nyw3ICs1OCw2IEBACiAKICNpZiBV
U0UoSlNDKQogI2luY2x1ZGUgIkpTRE9NV2luZG93LmgiCi0jaW5jbHVkZSA8cnVudGltZS9Jbml0
aWFsaXplVGhyZWFkaW5nLmg+CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTYz
LDkgKzE2Myw3IEBAIERhdGFiYXNlOjpEYXRhYmFzZShEb2N1bWVudCogZG9jdW1lbnQsIGMKICAg
ICBpZiAobV9uYW1lLmlzTnVsbCgpKQogICAgICAgICBtX25hbWUgPSAiIjsKIAotI2lmIFVTRShK
U0MpCi0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0jZW5kaWYKKyAgICBTY3JpcHRD
b250cm9sbGVyOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CiAKICAgICBtX2d1aWQgPSBndWlkRm9y
T3JpZ2luQW5kTmFtZShtX3NlY3VyaXR5T3JpZ2luLT50b1N0cmluZygpLCBuYW1lKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41878</attachid>
            <date>2009-10-26 11:45:40 -0700</date>
            <delta_ts>2009-10-28 06:54:07 -0700</delta_ts>
            <desc>Patch 3 for Bug 30678</desc>
            <filename>initializeThreading3.txt</filename>
            <type>text/plain</type>
            <size>6116</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MDA3NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMDktMTAtMjYgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZHMgU2NyaXB0Q29udHJvbGxlcjo6aW50aWFsaXplVGhyZWFkaW5nKCksIHdpdGggYm90aCBK
U0MgYW5kIFY4IGltcGxlbWVudGF0aW9ucy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTMwNjc4CisKKyAgICAgICAgVGhpcyBuZXcgbWV0aG9kIGlzIHVz
ZWQgZnJvbSBjb21tb24gY29kZSwgcmF0aGVyIHRoYW4gY2FsbGluZyBKU0M6OmluaXRpYWxpemVU
aHJlYWRpbmcoKSAob3IgdGhlIFY4IGVxdWl2YWxlbnQpIGRpcmVjdGx5LgorCisgICAgICAgIEJ1
aWxkIGZpeCwgbm8gbmV3IHRlc3RzIHJlcXVpcmVkLgorCisgICAgICAgICogYmluZGluZ3MvanMv
U2NyaXB0Q29udHJvbGxlci5jcHA6IE1vZGlmaWVkLgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
Q29udHJvbGxlcjo6aW5pdGlhbGl6ZVRocmVhZGluZyk6IEFkZGVkLgorICAgICAgICAqIGJpbmRp
bmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaDogTW9kaWZpZWQuIEFkZHMgU2NyaXB0Q29udHJvbGxl
cjo6aW5pdGlhbGl6ZVRocmVhZGluZygpLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdENv
bnRyb2xsZXIuY3BwOiBNb2RpZmllZC4KKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xs
ZXI6OmluaXRpYWxpemVUaHJlYWRpbmcpOiBBZGRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9T
Y3JpcHRDb250cm9sbGVyLmg6IE1vZGlmaWVkLiBBZGRzIFNjcmlwdENvbnRyb2xsZXI6OmluaXRp
YWxpemVUaHJlYWRpbmcoKS4KKyAgICAgICAgKiBsb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3Bw
OiBNb2RpZmllZC4KKyAgICAgICAgKFdlYkNvcmU6Omljb25EYXRhYmFzZSk6IENhbGwgU2NyaXB0
Q29udHJvbGxlcjo6aW5pdGlhbGl6ZVRocmVhZGluZygpLCByYXRoZXIgdGhhbiBKU0M6OmluaXRp
YWxpemVUaHJlYWRpbmcoKS4KKyAgICAgICAgKiBzdG9yYWdlL0RhdGFiYXNlLmNwcDogTW9kaWZp
ZWQuCisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZTo6RGF0YWJhc2UpOiBDYWxsIFNjcmlwdENv
bnRyb2xsZXI6OmluaXRpYWxpemVUaHJlYWRpbmcoKSwgcmF0aGVyIHRoYW4gSlNDOjppbml0aWFs
aXplVGhyZWFkaW5nKCkuCisKIDIwMDktMTAtMjYgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGd1
c3Rhdm8ubm9yb25oYUBjb2xsYWJvcmEuY28udWs+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gbWFr
ZSBkaXN0Y2hlY2sgYnVpbGQgZml4ZXMuCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL1Njcmlw
dENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDUwMDc3KQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksMTIgKzM5LDE4IEBACiAj
aW5jbHVkZSAibnBydW50aW1lX2ltcGwuaCIKICNpbmNsdWRlICJydW50aW1lX3Jvb3QuaCIKICNp
bmNsdWRlIDxkZWJ1Z2dlci9EZWJ1Z2dlci5oPgorI2luY2x1ZGUgPHJ1bnRpbWUvSW5pdGlhbGl6
ZVRocmVhZGluZy5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CiAKIHVzaW5nIG5hbWVz
cGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAordm9pZCBTY3JpcHRDb250cm9sbGVy
Ojppbml0aWFsaXplVGhyZWFkaW5nKCkKK3sKKyAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmco
KTsKK30KKwogU2NyaXB0Q29udHJvbGxlcjo6U2NyaXB0Q29udHJvbGxlcihGcmFtZSogZnJhbWUp
CiAgICAgOiBtX2ZyYW1lKGZyYW1lKQogICAgICwgbV9oYW5kbGVyTGluZU51bWJlcigwKQpJbmRl
eDogV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmgJKHJldmlzaW9uIDUwMDc3KQor
KysgV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTk4LDYgKzk4LDEwIEBAIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIHRydWUgaWYgYXJndW1l
bnQgaXMgYSBKYXZhU2NyaXB0IFVSTC4KICAgICBib29sIGV4ZWN1dGVJZkphdmFTY3JpcHRVUkwo
Y29uc3QgS1VSTCYsIGJvb2wgdXNlckdlc3R1cmUgPSBmYWxzZSwgYm9vbCByZXBsYWNlRG9jdW1l
bnQgPSB0cnVlKTsKIAorICAgIC8vIFRoaXMgZnVuY3Rpb24gbXVzdCBiZSBjYWxsZWQgZnJvbSB0
aGUgbWFpbiB0aHJlYWQuIEl0IGlzIHNhZmUgdG8gY2FsbCBpdCByZXBlYXRlZGx5LgorICAgIC8v
IERhcndpbiBpcyBhbiBleGNlcHRpb24gdG8gdGhpcyBydWxlOiBpdCBpcyBPSyB0byBjYWxsIHRo
aXMgZnVuY3Rpb24gZnJvbSBhbnkgdGhyZWFkLCBldmVuIHJlZW50cmFudGx5LgorICAgIHN0YXRp
YyB2b2lkIGluaXRpYWxpemVUaHJlYWRpbmcoKTsKKwogICAgIFNjcmlwdFZhbHVlIGV2YWx1YXRl
KGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmKTsKICAgICBTY3JpcHRWYWx1ZSBldmFsdWF0ZUluV29y
bGQoY29uc3QgU2NyaXB0U291cmNlQ29kZSYsIERPTVdyYXBwZXJXb3JsZCopOwogICAgIFNjcmlw
dFZhbHVlIGV2YWx1YXRlSW5Jc29sYXRlZFdvcmxkKHVuc2lnbmVkIC8qd29ybGRJRCovLCBjb25z
dCBTY3JpcHRTb3VyY2VDb2RlJik7CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENv
bnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29u
dHJvbGxlci5jcHAJKHJldmlzaW9uIDUwMDc3KQorKysgV2ViQ29yZS9iaW5kaW5ncy92OC9TY3Jp
cHRDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUsNiArNTUsMTUgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCit2b2lkIFNjcmlwdENvbnRyb2xsZXI6OmluaXRpYWxpemVUaHJl
YWRpbmcoKQoreworICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVkVGhyZWFkaW5nID0gZmFsc2U7
CisgICAgaWYgKCFpbml0aWFsaXplZFRocmVhZGluZykgeworICAgICAgICBXVEY6OmluaXRpYWxp
emVUaHJlYWRpbmcoKTsKKyAgICAgICAgaW5pdGlhbGl6ZWRUaHJlYWRpbmcgPSB0cnVlOworICAg
IH0KK30KKwogdm9pZCBTY3JpcHRDb250cm9sbGVyOjpzZXRGbGFncyhjb25zdCBjaGFyKiBzdHJp
bmcsIGludCBsZW5ndGgpCiB7CiAgICAgdjg6OlY4OjpTZXRGbGFnc0Zyb21TdHJpbmcoc3RyaW5n
LCBsZW5ndGgpOwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmgJKHJl
dmlzaW9uIDUwMDc3KQorKysgV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTY2LDYgKzY2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICAvLyBSZXR1cm5zIHRydWUgaWYgYXJndW1lbnQgaXMgYSBKYXZhU2NyaXB0IFVSTC4KICAg
ICAgICAgYm9vbCBleGVjdXRlSWZKYXZhU2NyaXB0VVJMKGNvbnN0IEtVUkwmLCBib29sIHVzZXJH
ZXN0dXJlID0gZmFsc2UsIGJvb2wgcmVwbGFjZURvY3VtZW50ID0gdHJ1ZSk7CiAKKyAgICAgICAg
Ly8gVGhpcyBmdW5jdGlvbiBtdXN0IGJlIGNhbGxlZCBmcm9tIHRoZSBtYWluIHRocmVhZC4gSXQg
aXMgc2FmZSB0byBjYWxsIGl0IHJlcGVhdGVkbHkuCisgICAgICAgIHN0YXRpYyB2b2lkIGluaXRp
YWxpemVUaHJlYWRpbmcoKTsKKwogICAgICAgICAvLyBFdmFsdWF0ZSBhIHNjcmlwdCBmaWxlIGlu
IHRoZSBlbnZpcm9ubWVudCBvZiB0aGlzIHByb3h5LgogICAgICAgICAvLyBJZiBzdWNjZWVkZWQs
ICdzdWNjJyBpcyBzZXQgdG8gdHJ1ZSBhbmQgcmVzdWx0IGlzIHJldHVybmVkCiAgICAgICAgIC8v
IGFzIGEgc3RyaW5nLgpJbmRleDogV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcAkocmV2
aXNpb24gNTAwNzcpCisrKyBXZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM2LDEwICszNiwxMCBAQAogI2luY2x1ZGUgIkljb25SZWNvcmQuaCIK
ICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgIlNj
cmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTUUxpdGVTdGF0ZW1lbnQuaCIKICNpbmNsdWRl
ICJTUUxpdGVUcmFuc2FjdGlvbi5oIgogI2luY2x1ZGUgIlN1ZGRlblRlcm1pbmF0aW9uLmgiCi0j
aW5jbHVkZSA8cnVudGltZS9Jbml0aWFsaXplVGhyZWFkaW5nLmg+CiAjaW5jbHVkZSA8d3RmL0N1
cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KICNpbmNsdWRlIDx3dGYv
U3RkTGliRXh0cmFzLmg+CkBAIC05Myw3ICs5Myw3IEBAIHN0YXRpYyBJY29uRGF0YWJhc2VDbGll
bnQqIGRlZmF1bHRDbGllbnQKIEljb25EYXRhYmFzZSogaWNvbkRhdGFiYXNlKCkKIHsKICAgICBp
ZiAoIXNoYXJlZEljb25EYXRhYmFzZSkgewotICAgICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRp
bmcoKTsKKyAgICAgICAgU2NyaXB0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwog
ICAgICAgICBzaGFyZWRJY29uRGF0YWJhc2UgPSBuZXcgSWNvbkRhdGFiYXNlOwogICAgIH0KICAg
ICByZXR1cm4gc2hhcmVkSWNvbkRhdGFiYXNlOwpJbmRleDogV2ViQ29yZS9zdG9yYWdlL0RhdGFi
YXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2UuY3BwCShyZXZp
c2lvbiA1MDA3NykKKysrIFdlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1
ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJPcmlnaW5RdW90YU1hbmFnZXIuaCIKKyNpbmNsdWRlICJT
Y3JpcHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiU1FMaXRlRGF0YWJhc2UuaCIKICNpbmNsdWRl
ICJTUUxpdGVGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiU1FMaXRlU3RhdGVtZW50LmgiCkBAIC01
Nyw3ICs1OCw2IEBACiAKICNpZiBVU0UoSlNDKQogI2luY2x1ZGUgIkpTRE9NV2luZG93LmgiCi0j
aW5jbHVkZSA8cnVudGltZS9Jbml0aWFsaXplVGhyZWFkaW5nLmg+CiAjZW5kaWYKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtMTYzLDkgKzE2Myw3IEBAIERhdGFiYXNlOjpEYXRhYmFzZShEb2N1
bWVudCogZG9jdW1lbnQsIGMKICAgICBpZiAobV9uYW1lLmlzTnVsbCgpKQogICAgICAgICBtX25h
bWUgPSAiIjsKIAotI2lmIFVTRShKU0MpCi0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7
Ci0jZW5kaWYKKyAgICBTY3JpcHRDb250cm9sbGVyOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CiAK
ICAgICBtX2d1aWQgPSBndWlkRm9yT3JpZ2luQW5kTmFtZShtX3NlY3VyaXR5T3JpZ2luLT50b1N0
cmluZygpLCBuYW1lKTsKIAo=
</data>
<flag name="review"
          id="23338"
          type_id="1"
          status="+"
          setter="eric"
    />
    <flag name="commit-queue"
          id="23497"
          type_id="3"
          status="-"
          setter="steveblock"
    />
          </attachment>
      

    </bug>

</bugzilla>