<?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>67866</bug_id>
          
          <creation_ts>2011-09-09 14:46:44 -0700</creation_ts>
          <short_desc>HRTFDatabaseLoader should not call WTF::waitForThreadCompletion() more than once</short_desc>
          <delta_ts>2011-09-09 17:58:54 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Chris Rogers">crogers</reporter>
          <assigned_to name="Chris Rogers">crogers</assigned_to>
          <cc>levin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>465035</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-09-09 14:46:44 -0700</bug_when>
    <thetext>HRTFDatabaseLoader should not call WTF::waitForThreadCompletion() more than once</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465037</commentid>
    <comment_count>1</comment_count>
      <attachid>106926</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-09-09 14:50:14 -0700</bug_when>
    <thetext>Created attachment 106926
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465054</commentid>
    <comment_count>2</comment_count>
      <attachid>106926</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-09-09 15:21:33 -0700</bug_when>
    <thetext>Comment on attachment 106926
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=106926&amp;action=review

&gt; Source/WebCore/platform/audio/HRTFDatabaseLoader.cpp:127
&gt; +    // WTF::waitForThreadCompletion() should not be called twice for the same thread.

It feels odd to have the WTF:: prefix here but not in the code. It takes me a little more time to pair the two. (I&apos;d just leave it off in the comment.)

&gt; Source/WebCore/platform/audio/HRTFDatabaseLoader.h:84
&gt; +    Mutex m_threadLock;

Ideally there would be some comment like what is here: http://trac.webkit.org/browser/trunk/Source/WebCore/loader/icon/IconDatabase.h#L160

I think it is only guarding  m_databaseLoaderThread but in one instance in the code, it is also guarding &quot;m_startedLoadingDatabase = true;&quot; which I don&apos;t think is needed (and is confusing because that variable isn&apos;t guarded when used elsewhere.

Why do we even have m_startedLoadingDatabase when it seems like the value of m_databaseLoaderThread serves the same purpose?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465089</commentid>
    <comment_count>3</comment_count>
      <attachid>106936</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-09-09 16:26:43 -0700</bug_when>
    <thetext>Created attachment 106936
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465090</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-09-09 16:27:57 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 106926 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=106926&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/audio/HRTFDatabaseLoader.cpp:127
&gt; &gt; +    // WTF::waitForThreadCompletion() should not be called twice for the same thread.
&gt; 
&gt; It feels odd to have the WTF:: prefix here but not in the code. It takes me a little more time to pair the two. (I&apos;d just leave it off in the comment.)

FIXED

&gt; 
&gt; &gt; Source/WebCore/platform/audio/HRTFDatabaseLoader.h:84
&gt; &gt; +    Mutex m_threadLock;
&gt; 
&gt; Ideally there would be some comment like what is here: http://trac.webkit.org/browser/trunk/Source/WebCore/loader/icon/IconDatabase.h#L160

FIXED: added similar comment

&gt; 
&gt; I think it is only guarding  m_databaseLoaderThread but in one instance in the code, it is also guarding &quot;m_startedLoadingDatabase = true;&quot; which I don&apos;t think is needed (and is confusing because that variable isn&apos;t guarded when used elsewhere.
&gt; 
&gt; Why do we even have m_startedLoadingDatabase when it seems like the value of m_databaseLoaderThread serves the same purpose?

Good point - removed m_startedLoadingDatabase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465091</commentid>
    <comment_count>5</comment_count>
      <attachid>106936</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-09-09 16:29:44 -0700</bug_when>
    <thetext>Comment on attachment 106936
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465094</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-09-09 16:32:08 -0700</bug_when>
    <thetext>Dave, thanks for the review.  I really appreciate you bearing through this problem with me.  Now hopefully my win-debug layout tests will greenify!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465149</commentid>
    <comment_count>7</comment_count>
      <attachid>106936</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-09 17:58:50 -0700</bug_when>
    <thetext>Comment on attachment 106936
Patch

Clearing flags on attachment: 106936

Committed r94893: &lt;http://trac.webkit.org/changeset/94893&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465150</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-09 17:58:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106926</attachid>
            <date>2011-09-09 14:50:14 -0700</date>
            <delta_ts>2011-09-09 16:26:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67866-20110909145013.patch</filename>
            <type>text/plain</type>
            <size>3892</size>
            <attacher name="Chris Rogers">crogers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ2MDcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2ODBiYjNiNDE1MzE3ZTEx
ZjA0ZTIwNmVmMzU3ODRhMzYwOTViMDM0Li45NTMzNWNmZTYzMmRlNDRjOWNiMDlkNzA2NjQ0Y2Y0
MzgwNGI2NTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDktMDkgIENocmlz
IFJvZ2VycyAgPGNyb2dlcnNAZ29vZ2xlLmNvbT4KKworICAgICAgICBIUlRGRGF0YWJhc2VMb2Fk
ZXIgc2hvdWxkIG5vdCBjYWxsIFdURjo6d2FpdEZvclRocmVhZENvbXBsZXRpb24oKSBtb3JlIHRo
YW4gb25jZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Njc4NjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBO
byBuZXcgdGVzdHMgc2luY2UgdGhpcyBpcyBkaWZmaWN1bHQgdG8gdGVzdC4KKyAgICAgICAgVGhp
cyBpcyBkZXNpZ25lZCB0byBmaXggZXhpc3Rpbmcgd2ViYXVkaW8gbGF5b3V0IHRlc3QgZmFpbHVy
ZXMuCisgICAgICAgIAorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZUxvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIUlRGRGF0YWJhc2VMb2FkZXI6On5IUlRGRGF0YWJh
c2VMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFJURkRhdGFiYXNlTG9hZGVyOjpsb2FkQXN5
bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6SFJURkRhdGFiYXNlTG9hZGVyOjp3YWl0
Rm9yTG9hZGVyVGhyZWFkQ29tcGxldGlvbik6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vSFJU
RkRhdGFiYXNlTG9hZGVyLmg6CisKIDIwMTEtMDktMDUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFw
cGxlLmNvbT4KIAogICAgICAgICBBbiBvYmplY3QncyBzdHJ1Y3R1cmUgc2hvdWxkIHJlZmVyZW5j
ZSB0aGUgZ2xvYmFsIG9iamVjdCByZXNwb25zaWJsZSBmb3IgaXRzIGNyZWF0aW9uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2VMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlTG9hZGVyLmNwcApp
bmRleCAxOThmN2NkYjg1OWNlMmIyMWIxN2RhODVlNWM1OWNkNGIyYmU4ZTU0Li5mNzBmY2YzMzlj
ZTMzOGRiMjBjYTA2NmVmNDljODVjZDMzODkxNGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZUxvYWRlci5jcHAKQEAgLTcyLDEwICs3Miw5
IEBAIEhSVEZEYXRhYmFzZUxvYWRlcjo6fkhSVEZEYXRhYmFzZUxvYWRlcigpCiAgICAgQVNTRVJU
KGlzTWFpblRocmVhZCgpKTsKIAogICAgIGlmIChtX3N0YXJ0ZWRMb2FkaW5nRGF0YWJhc2UpCi0g
ICAgICAgIHdhaXRGb3JUaHJlYWRDb21wbGV0aW9uKG1fZGF0YWJhc2VMb2FkZXJUaHJlYWQsIDAp
OworICAgICAgICB3YWl0Rm9yTG9hZGVyVGhyZWFkQ29tcGxldGlvbigpOwogICAgIAogICAgIG1f
c3RhcnRlZExvYWRpbmdEYXRhYmFzZSA9IGZhbHNlOwotICAgIG1fZGF0YWJhc2VMb2FkZXJUaHJl
YWQgPSAwOwogICAgIAogICAgIG1faHJ0ZkRhdGFiYXNlLmNsZWFyKCk7CiAgICAgCkBAIC0xMTAs
NiArMTA5LDcgQEAgdm9pZCBIUlRGRGF0YWJhc2VMb2FkZXI6OmxvYWRBc3luY2hyb25vdXNseSgp
CiAgICAgCiAgICAgaWYgKCFtX2hydGZEYXRhYmFzZS5nZXQoKSAmJiAhbV9zdGFydGVkTG9hZGlu
Z0RhdGFiYXNlKSB7CiAgICAgICAgIC8vIFN0YXJ0IHRoZSBhc3luY2hyb25vdXMgZGF0YWJhc2Ug
bG9hZGluZyBwcm9jZXNzLgorICAgICAgICBNdXRleExvY2tlciBsb2NrZXIobV90aHJlYWRMb2Nr
KTsKICAgICAgICAgbV9zdGFydGVkTG9hZGluZ0RhdGFiYXNlID0gdHJ1ZTsKICAgICAgICAgbV9k
YXRhYmFzZUxvYWRlclRocmVhZCA9IGNyZWF0ZVRocmVhZChkYXRhYmFzZUxvYWRlckVudHJ5LCB0
aGlzLCAiSFJURiBkYXRhYmFzZSBsb2FkZXIiKTsKICAgICB9CkBAIC0xMjAsMTIgKzEyMCwxNCBA
QCBib29sIEhSVEZEYXRhYmFzZUxvYWRlcjo6aXNMb2FkZWQoKSBjb25zdAogICAgIHJldHVybiBt
X2hydGZEYXRhYmFzZS5nZXQoKTsKIH0KIAotCiB2b2lkIEhSVEZEYXRhYmFzZUxvYWRlcjo6d2Fp
dEZvckxvYWRlclRocmVhZENvbXBsZXRpb24oKQogewotICAgIEFTU0VSVCghaXNNYWluVGhyZWFk
KCkpOwotICAgIEFTU0VSVChtX2RhdGFiYXNlTG9hZGVyVGhyZWFkKTsKLSAgICB3YWl0Rm9yVGhy
ZWFkQ29tcGxldGlvbihtX2RhdGFiYXNlTG9hZGVyVGhyZWFkLCAwKTsgICAgCisgICAgTXV0ZXhM
b2NrZXIgbG9ja2VyKG1fdGhyZWFkTG9jayk7CisgICAgCisgICAgLy8gV1RGOjp3YWl0Rm9yVGhy
ZWFkQ29tcGxldGlvbigpIHNob3VsZCBub3QgYmUgY2FsbGVkIHR3aWNlIGZvciB0aGUgc2FtZSB0
aHJlYWQuCisgICAgaWYgKG1fZGF0YWJhc2VMb2FkZXJUaHJlYWQpCisgICAgICAgIHdhaXRGb3JU
aHJlYWRDb21wbGV0aW9uKG1fZGF0YWJhc2VMb2FkZXJUaHJlYWQsIDApOworICAgIG1fZGF0YWJh
c2VMb2FkZXJUaHJlYWQgPSAwOwogfQogCiBIUlRGRGF0YWJhc2UqIEhSVEZEYXRhYmFzZUxvYWRl
cjo6ZGVmYXVsdEhSVEZEYXRhYmFzZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0hSVEZEYXRhYmFzZUxvYWRlci5oCmluZGV4IGE1YTc3ODFmZDBmNGQ3MTc1MmFmNzNh
NzE5NjM1OTNhYTU1NWZiZjkuLmQwZmU1MjA1ZTkyY2ExOWFjYWNlM2ZhNzVmNTlmNjA1ZTJiNzlk
ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFz
ZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFz
ZUxvYWRlci5oCkBAIC01NSw4ICs1NSw3IEBAIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIHRydWUg
b25jZSB0aGUgZGVmYXVsdCBkYXRhYmFzZSBoYXMgYmVlbiBjb21wbGV0ZWx5IGxvYWRlZC4KICAg
ICBib29sIGlzTG9hZGVkKCkgY29uc3Q7CiAKLSAgICAvLyBNYXkgbm90IGJlIGNhbGxlZCBvbiB0
aGUgbWFpbiB0aHJlYWQuCi0gICAgLy8gVGhpcyBpcyBzbyBhIGRpZmZlcmVudCBiYWNrZ3JvdW5k
IHRocmVhZCBtYXkgc3luY2hyb25pemUgd2l0aCB0aGUgbG9hZGVyIHRocmVhZC4KKyAgICAvLyB3
YWl0Rm9yTG9hZGVyVGhyZWFkQ29tcGxldGlvbigpIG1heSBiZSBjYWxsZWQgbW9yZSB0aGFuIG9u
Y2UgYW5kIGlzIHRocmVhZC1zYWZlLgogICAgIHZvaWQgd2FpdEZvckxvYWRlclRocmVhZENvbXBs
ZXRpb24oKTsKICAgICAKICAgICBIUlRGRGF0YWJhc2UqIGRhdGFiYXNlKCkgeyByZXR1cm4gbV9o
cnRmRGF0YWJhc2UuZ2V0KCk7IH0KQEAgLTgyLDExICs4MSwxMSBAQCBwcml2YXRlOgogICAgIHN0
YXRpYyBIUlRGRGF0YWJhc2VMb2FkZXIqIHNfbG9hZGVyOyAvLyBzaW5nbGV0b24KICAgICBPd25Q
dHI8SFJURkRhdGFiYXNlPiBtX2hydGZEYXRhYmFzZTsKICAgICBUaHJlYWRJZGVudGlmaWVyIG1f
ZGF0YWJhc2VMb2FkZXJUaHJlYWQ7CisgICAgTXV0ZXggbV90aHJlYWRMb2NrOwogICAgIGJvb2wg
bV9zdGFydGVkTG9hZGluZ0RhdGFiYXNlOwogICAgIGRvdWJsZSBtX2RhdGFiYXNlU2FtcGxlUmF0
ZTsgICAgCiB9OwogCi0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEhSVEZE
YXRhYmFzZUxvYWRlcl9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106936</attachid>
            <date>2011-09-09 16:26:43 -0700</date>
            <delta_ts>2011-09-09 17:58:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67866-20110909162642.patch</filename>
            <type>text/plain</type>
            <size>4467</size>
            <attacher name="Chris Rogers">crogers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ4NzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhZjc3MTc4OGQxMTUwYWYy
Zjc4YjJmNWZjZWE5YjIzMzM1NThiMmM2Li5iMGE2MDBkMGVkNTgxNWM5MTE2YzJhYzUyYjE3ODNk
ZTIyOTJhMDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDktMDkgIENocmlz
IFJvZ2VycyAgPGNyb2dlcnNAZ29vZ2xlLmNvbT4KKworICAgICAgICBIUlRGRGF0YWJhc2VMb2Fk
ZXIgc2hvdWxkIG5vdCBjYWxsIFdURjo6d2FpdEZvclRocmVhZENvbXBsZXRpb24oKSBtb3JlIHRo
YW4gb25jZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Njc4NjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBO
byBuZXcgdGVzdHMgc2luY2UgdGhpcyBpcyBkaWZmaWN1bHQgdG8gdGVzdC4KKyAgICAgICAgVGhp
cyBpcyBkZXNpZ25lZCB0byBmaXggZXhpc3Rpbmcgd2ViYXVkaW8gbGF5b3V0IHRlc3QgZmFpbHVy
ZXMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2VMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFJURkRhdGFiYXNlTG9hZGVyOjpIUlRGRGF0YWJhc2VMb2FkZXIp
OgorICAgICAgICAoV2ViQ29yZTo6SFJURkRhdGFiYXNlTG9hZGVyOjp+SFJURkRhdGFiYXNlTG9h
ZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhSVEZEYXRhYmFzZUxvYWRlcjo6bG9hZEFzeW5jaHJv
bm91c2x5KToKKyAgICAgICAgKFdlYkNvcmU6OkhSVEZEYXRhYmFzZUxvYWRlcjo6d2FpdEZvckxv
YWRlclRocmVhZENvbXBsZXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0hSVEZEYXRh
YmFzZUxvYWRlci5oOgorCiAyMDExLTA5LTA5ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5j
b20+CiAKICAgICAgICAgUmVuZGVyQmxvY2s6OmFkZE92ZXJoYW5naW5nRmxvYXRzKCkgdGFrZXMg
c3VwZXJmbHVvdXMgcGFyYW1ldGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vSFJURkRhdGFiYXNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0hSVEZEYXRhYmFzZUxvYWRlci5jcHAKaW5kZXggMTk4ZjdjZGI4NTljZTJiMjFiMTdk
YTg1ZTVjNTljZDRiMmJlOGU1NC4uOWFjZGMzMjU4ZmE4NmNjZmJjNzg4NmU4ZGRlOTU5OTZhODc3
ZGQyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFi
YXNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0
YWJhc2VMb2FkZXIuY3BwCkBAIC02MSw3ICs2MSw2IEBAIFBhc3NSZWZQdHI8SFJURkRhdGFiYXNl
TG9hZGVyPiBIUlRGRGF0YWJhc2VMb2FkZXI6OmNyZWF0ZUFuZExvYWRBc3luY2hyb25vdXNseUlm
CiAKIEhSVEZEYXRhYmFzZUxvYWRlcjo6SFJURkRhdGFiYXNlTG9hZGVyKGRvdWJsZSBzYW1wbGVS
YXRlKQogICAgIDogbV9kYXRhYmFzZUxvYWRlclRocmVhZCgwKQotICAgICwgbV9zdGFydGVkTG9h
ZGluZ0RhdGFiYXNlKGZhbHNlKQogICAgICwgbV9kYXRhYmFzZVNhbXBsZVJhdGUoc2FtcGxlUmF0
ZSkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwpAQCAtNzEsMTIgKzcwLDcgQEAgSFJU
RkRhdGFiYXNlTG9hZGVyOjp+SFJURkRhdGFiYXNlTG9hZGVyKCkKIHsKICAgICBBU1NFUlQoaXNN
YWluVGhyZWFkKCkpOwogCi0gICAgaWYgKG1fc3RhcnRlZExvYWRpbmdEYXRhYmFzZSkKLSAgICAg
ICAgd2FpdEZvclRocmVhZENvbXBsZXRpb24obV9kYXRhYmFzZUxvYWRlclRocmVhZCwgMCk7Ci0g
ICAgCi0gICAgbV9zdGFydGVkTG9hZGluZ0RhdGFiYXNlID0gZmFsc2U7Ci0gICAgbV9kYXRhYmFz
ZUxvYWRlclRocmVhZCA9IDA7Ci0gICAgCisgICAgd2FpdEZvckxvYWRlclRocmVhZENvbXBsZXRp
b24oKTsKICAgICBtX2hydGZEYXRhYmFzZS5jbGVhcigpOwogICAgIAogICAgIC8vIENsZWFyIG91
dCBzaW5nbGV0b24uCkBAIC0xMDcsMTAgKzEwMSwxMSBAQCB2b2lkIEhSVEZEYXRhYmFzZUxvYWRl
cjo6bG9hZCgpCiB2b2lkIEhSVEZEYXRhYmFzZUxvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KCkK
IHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworCisgICAgTXV0ZXhMb2NrZXIgbG9ja2Vy
KG1fdGhyZWFkTG9jayk7CiAgICAgCi0gICAgaWYgKCFtX2hydGZEYXRhYmFzZS5nZXQoKSAmJiAh
bV9zdGFydGVkTG9hZGluZ0RhdGFiYXNlKSB7CisgICAgaWYgKCFtX2hydGZEYXRhYmFzZS5nZXQo
KSAmJiAhbV9kYXRhYmFzZUxvYWRlclRocmVhZCkgewogICAgICAgICAvLyBTdGFydCB0aGUgYXN5
bmNocm9ub3VzIGRhdGFiYXNlIGxvYWRpbmcgcHJvY2Vzcy4KLSAgICAgICAgbV9zdGFydGVkTG9h
ZGluZ0RhdGFiYXNlID0gdHJ1ZTsKICAgICAgICAgbV9kYXRhYmFzZUxvYWRlclRocmVhZCA9IGNy
ZWF0ZVRocmVhZChkYXRhYmFzZUxvYWRlckVudHJ5LCB0aGlzLCAiSFJURiBkYXRhYmFzZSBsb2Fk
ZXIiKTsKICAgICB9CiB9CkBAIC0xMjAsMTIgKzExNSwxNCBAQCBib29sIEhSVEZEYXRhYmFzZUxv
YWRlcjo6aXNMb2FkZWQoKSBjb25zdAogICAgIHJldHVybiBtX2hydGZEYXRhYmFzZS5nZXQoKTsK
IH0KIAotCiB2b2lkIEhSVEZEYXRhYmFzZUxvYWRlcjo6d2FpdEZvckxvYWRlclRocmVhZENvbXBs
ZXRpb24oKQogewotICAgIEFTU0VSVCghaXNNYWluVGhyZWFkKCkpOwotICAgIEFTU0VSVChtX2Rh
dGFiYXNlTG9hZGVyVGhyZWFkKTsKLSAgICB3YWl0Rm9yVGhyZWFkQ29tcGxldGlvbihtX2RhdGFi
YXNlTG9hZGVyVGhyZWFkLCAwKTsgICAgCisgICAgTXV0ZXhMb2NrZXIgbG9ja2VyKG1fdGhyZWFk
TG9jayk7CisgICAgCisgICAgLy8gd2FpdEZvclRocmVhZENvbXBsZXRpb24oKSBzaG91bGQgbm90
IGJlIGNhbGxlZCB0d2ljZSBmb3IgdGhlIHNhbWUgdGhyZWFkLgorICAgIGlmIChtX2RhdGFiYXNl
TG9hZGVyVGhyZWFkKQorICAgICAgICB3YWl0Rm9yVGhyZWFkQ29tcGxldGlvbihtX2RhdGFiYXNl
TG9hZGVyVGhyZWFkLCAwKTsKKyAgICBtX2RhdGFiYXNlTG9hZGVyVGhyZWFkID0gMDsKIH0KIAog
SFJURkRhdGFiYXNlKiBIUlRGRGF0YWJhc2VMb2FkZXI6OmRlZmF1bHRIUlRGRGF0YWJhc2UoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlTG9h
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2VMb2FkZXIu
aAppbmRleCBhNWE3NzgxZmQwZjRkNzE3NTJhZjczYTcxOTYzNTkzYWE1NTVmYmY5Li5lZTdlYjIy
M2M3OWI0MjEwMzVlZmI5OTMxYTM0N2FkNzExMWM1NDc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2VMb2FkZXIuaApAQCAtNTUsOCArNTUsNyBA
QCBwdWJsaWM6CiAgICAgLy8gUmV0dXJucyB0cnVlIG9uY2UgdGhlIGRlZmF1bHQgZGF0YWJhc2Ug
aGFzIGJlZW4gY29tcGxldGVseSBsb2FkZWQuCiAgICAgYm9vbCBpc0xvYWRlZCgpIGNvbnN0Owog
Ci0gICAgLy8gTWF5IG5vdCBiZSBjYWxsZWQgb24gdGhlIG1haW4gdGhyZWFkLgotICAgIC8vIFRo
aXMgaXMgc28gYSBkaWZmZXJlbnQgYmFja2dyb3VuZCB0aHJlYWQgbWF5IHN5bmNocm9uaXplIHdp
dGggdGhlIGxvYWRlciB0aHJlYWQuCisgICAgLy8gd2FpdEZvckxvYWRlclRocmVhZENvbXBsZXRp
b24oKSBtYXkgYmUgY2FsbGVkIG1vcmUgdGhhbiBvbmNlIGFuZCBpcyB0aHJlYWQtc2FmZS4KICAg
ICB2b2lkIHdhaXRGb3JMb2FkZXJUaHJlYWRDb21wbGV0aW9uKCk7CiAgICAgCiAgICAgSFJURkRh
dGFiYXNlKiBkYXRhYmFzZSgpIHsgcmV0dXJuIG1faHJ0ZkRhdGFiYXNlLmdldCgpOyB9CkBAIC04
MSwxMiArODAsMTQgQEAgcHJpdmF0ZToKIAogICAgIHN0YXRpYyBIUlRGRGF0YWJhc2VMb2FkZXIq
IHNfbG9hZGVyOyAvLyBzaW5nbGV0b24KICAgICBPd25QdHI8SFJURkRhdGFiYXNlPiBtX2hydGZE
YXRhYmFzZTsKKworICAgIC8vIEhvbGRpbmcgYSBtX3RocmVhZExvY2sgaXMgcmVxdWlyZWQgd2hl
biBhY2Nlc3NpbmcgbV9kYXRhYmFzZUxvYWRlclRocmVhZC4KKyAgICBNdXRleCBtX3RocmVhZExv
Y2s7CiAgICAgVGhyZWFkSWRlbnRpZmllciBtX2RhdGFiYXNlTG9hZGVyVGhyZWFkOwotICAgIGJv
b2wgbV9zdGFydGVkTG9hZGluZ0RhdGFiYXNlOworCiAgICAgZG91YmxlIG1fZGF0YWJhc2VTYW1w
bGVSYXRlOyAgICAKIH07CiAKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8g
SFJURkRhdGFiYXNlTG9hZGVyX2gK
</data>

          </attachment>
      

    </bug>

</bugzilla>