<?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>138262</bug_id>
          
          <creation_ts>2014-10-31 15:18:02 -0700</creation_ts>
          <short_desc>Support throttling of DOMTimers using nested setTimeout() calls</short_desc>
          <delta_ts>2014-11-10 14:06:07 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>136197</dependson>
    
    <dependson>138335</dependson>
    
    <dependson>138449</dependson>
          <blocked>138292</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>kling</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1045394</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-31 15:18:02 -0700</bug_when>
    <thetext>We currently support throttling of DOMTimers under certain conditions, when the timers are repeating (installed using setInterval()). We should extend the support to DOMTimers using nested setTimeout() calls as this is quite common on the Web.
I see for example that cnn.com is using such pattern and some of its timers would get throttled under our currently policy if we were to extend support.

Radar: rdar://problem/18842049</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045402</commentid>
    <comment_count>1</comment_count>
      <attachid>240762</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-31 15:32:02 -0700</bug_when>
    <thetext>Created attachment 240762
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045404</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-31 15:35:04 -0700</bug_when>
    <thetext>Attachment 240762 did not pass style-queue:


ERROR: Source/WebCore/page/DOMTimer.h:36:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045417</commentid>
    <comment_count>3</comment_count>
      <attachid>240762</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2014-10-31 15:57:34 -0700</bug_when>
    <thetext>Comment on attachment 240762
Patch

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

&gt; Source/WebCore/page/DOMTimer.cpp:118
&gt; +    Vector&lt;DOMTimer*&gt; nestedTimers;

Is the default internal capacity of vectors 0? – this seems common enough, maybe it&apos;s worth giving this some internal capacity, maybe just 1 or 2?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045418</commentid>
    <comment_count>4</comment_count>
      <attachid>240762</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-31 16:02:00 -0700</bug_when>
    <thetext>Comment on attachment 240762
Patch

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

&gt;&gt; Source/WebCore/page/DOMTimer.cpp:118
&gt;&gt; +    Vector&lt;DOMTimer*&gt; nestedTimers;
&gt; 
&gt; Is the default internal capacity of vectors 0? – this seems common enough, maybe it&apos;s worth giving this some internal capacity, maybe just 1 or 2?

Yes, it is 0 by default. I will update to use 1 as inline capacity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045430</commentid>
    <comment_count>5</comment_count>
      <attachid>240768</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-31 16:24:38 -0700</bug_when>
    <thetext>Created attachment 240768
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045433</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-31 16:27:33 -0700</bug_when>
    <thetext>Attachment 240768 did not pass style-queue:


ERROR: Source/WebCore/page/DOMTimer.h:36:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045443</commentid>
    <comment_count>7</comment_count>
      <attachid>240768</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-31 17:12:52 -0700</bug_when>
    <thetext>Comment on attachment 240768
Patch

Clearing flags on attachment: 240768

Committed r175441: &lt;http://trac.webkit.org/changeset/175441&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045444</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-31 17:12:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045513</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-11-01 08:41:27 -0700</bug_when>
    <thetext>jquery/manipulation.html started to time out around when this was landed. Coincidence?

https://build.webkit.org/results/Apple%20Mavericks%20Debug%20WK1%20(Tests)/r175443%20(8606)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045530</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-01 13:33:13 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; jquery/manipulation.html started to time out around when this was landed.
&gt; Coincidence?
&gt; 
&gt; https://build.webkit.org/results/Apple%20Mavericks%20Debug%20WK1%20(Tests)/
&gt; r175443%20(8606)/results.html

I am going to check although it seems that on 1 of the bots at least, the test started failing later:
https://build.webkit.org/builders/Apple%20Mavericks%20Debug%20WK1%20%28Tests%29/builds/8606

The failure seems consistent at least so it looks like a regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045566</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-01 19:53:22 -0700</bug_when>
    <thetext>A quick grep shows jquery/manipulation.html indeed involves plugins and the tests are likely executed by timers so there is a chance my change caused this. I&apos;ll double check to make sure timers get throttled when running this test. If this is the case, I&apos;ll see if this is easy fixable or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045570</commentid>
    <comment_count>12</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-01 20:07:45 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; A quick grep shows jquery/manipulation.html indeed involves plugins and the
&gt; tests are likely executed by timers so there is a chance my change caused
&gt; this. I&apos;ll double check to make sure timers get throttled when running this
&gt; test. If this is the case, I&apos;ll see if this is easy fixable or not.

Yes, I confirmed that my change is causing one timer to fire every second instead of every 13ms when running jquery/manipulation.html. The test still passes on my machine, it likely just runs slower, which is why it fails on some Debug bots. Maybe we can mark that test as slow for now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045571</commentid>
    <comment_count>13</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-01 20:39:15 -0700</bug_when>
    <thetext>I marked the test as slow for Debug build for now (https://trac.webkit.org/r175456). I&apos;ll monitor the bots to make sure it helps.

One possible solution to this problem would be to not throttle timers if we are running the layout tests, to make sure we don&apos;t slow down tests. I believe we already have a method somewhere in WebCore to detect that we are running the layout tests. Any thoughts on this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045607</commentid>
    <comment_count>14</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-11-02 09:27:32 -0800</bug_when>
    <thetext>It sounds like the throttling changes are going to affect real content. Are we OK with that? 13ms -&gt; 1000ms is a pretty serious throttle for a foreground page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045608</commentid>
    <comment_count>15</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-02 09:30:50 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; It sounds like the throttling changes are going to affect real content. Are
&gt; we OK with that? 13ms -&gt; 1000ms is a pretty serious throttle for a
&gt; foreground page.

We&apos;ve had this throttling in place for a while and so far we haven&apos;t run into trouble. The throttling occurs if the timer is interacting with a non-visible plugins only so the user should not see difference (in theory). My patch is merely extending timer throttling support to timers that keep rescheduling themselves using setTimeout() instead of simply using setInterval().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045784</commentid>
    <comment_count>16</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-03 11:00:37 -0800</bug_when>
    <thetext>Interestingly, I have just noticed that the timer is only being throttled in debug builds. This difference in behavior is unexpected so this needs to be investigated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045817</commentid>
    <comment_count>17</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-03 12:14:20 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; Interestingly, I have just noticed that the timer is only being throttled in
&gt; debug builds. This difference in behavior is unexpected so this needs to be
&gt; investigated.

DOMTimers fire 16 times when running jquery/manipulation.html on a debug build, but only twice on a release build. As we start throttling when the nested level reaches 5, no throttling happens on a release build. Now, we just need to figure out why timers fire more often in debug builds when running this test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046834</commentid>
    <comment_count>18</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-06 09:53:03 -0800</bug_when>
    <thetext>Reopening as the patch was reverted for causing intermittent crashes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046858</commentid>
    <comment_count>19</comment_count>
      <attachid>241120</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-06 11:33:57 -0800</bug_when>
    <thetext>Created attachment 241120
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047596</commentid>
    <comment_count>20</comment_count>
      <attachid>241299</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-10 12:29:24 -0800</bug_when>
    <thetext>Created attachment 241299
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047628</commentid>
    <comment_count>21</comment_count>
      <attachid>241299</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-10 14:06:00 -0800</bug_when>
    <thetext>Comment on attachment 241299
Patch

Clearing flags on attachment: 241299

Committed r175830: &lt;http://trac.webkit.org/changeset/175830&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047629</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-10 14:06:07 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240762</attachid>
            <date>2014-10-31 15:32:02 -0700</date>
            <delta_ts>2014-10-31 16:24:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138262-20141031153211.patch</filename>
            <type>text/plain</type>
            <size>6156</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1NDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2JjMjRmMThlNmYyZDk2
MWM2ZjFjNWFhNjY4NGJiOTI4NTI3OGFjZi4uYzhmNDE0OTIzZDQyMTgzMGRmNWI0M2E0M2FhNTNh
MjBkMGY4NGIxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE0LTEwLTMxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU3VwcG9ydCB0aHJvdHRsaW5n
IG9mIERPTVRpbWVycyB1c2luZyBuZXN0ZWQgc2V0VGltZW91dCgpIGNhbGxzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzgyNjIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHRlbmQgRE9NVGltZXJzIHRo
cm90dGxpbmcgc3VwcG9ydCB0byB0aW1lcnMgdGhhdCBhcmUgdXNpbmcgbmVzdGVkCisgICAgICAg
IHNldFRpbWVvdXQoKSBjYWxscyBpbnN0ZWFkIG9mIGEgc2V0SW50ZXJ2YWwoKS4gVG8gYWNoaWV2
ZSB0aGlzLCB0aGlzCisgICAgICAgIHBhdGNoIGludHJvZHVjZXMgYSBOZXN0ZWRUaW1lcnNWZWN0
b3Igc2luZ2xldG9uIGNsYXNzIHdoZXJlIG5lc3RlZAorICAgICAgICB0aW1lcnMgYXJlIGFwcGVu
ZGVkLCBhbmQgZm9yIHdoaWNoIHdlIHBvdGVudGlhbGx5IHVwZGF0ZSB0aGUgbmV4dAorICAgICAg
ICBmaXJpbmcgdGltZSwgYWZ0ZXIgdGhlIHBhcmVudCB0aW1lciBpcyBkb25lIGV4ZWN1dGluZy4K
KworICAgICAgICBJIGhhdmUgdmVyaWZpZWQgdGhpcyBoZWxwcyBvbiBjbm4uY29tIGZvciBleGFt
cGxlLCB3aGljaCBoYXMgdGltZXJzCisgICAgICAgIGludGVyYWN0aW5nIHdpdGggbm9uLXZpc2li
bGUgcGx1Z2lucyB0aGF0IGFyZSBzY2hlZHVsZWQgdXNpbmcgbmVzdGVkCisgICAgICAgIHNldFRp
bWVvdXQoKSBjYWxscyB3aXRoIGEgZnJlcXVlbmN5IG9mIDE1MCAvIDIwMCBtcy4KKworICAgICAg
ICAqIHBhZ2UvRE9NVGltZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmVzdGVkVGltZXJzVmVj
dG9yOjpOZXN0ZWRUaW1lcnNWZWN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6TmVzdGVkVGltZXJz
VmVjdG9yOjp+TmVzdGVkVGltZXJzVmVjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6Ok5lc3RlZFRp
bWVyc1ZlY3Rvcjo6cmVnaXN0ZXJUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpOZXN0ZWRUaW1l
cnNWZWN0b3I6OmJlZ2luKToKKyAgICAgICAgKFdlYkNvcmU6Ok5lc3RlZFRpbWVyc1ZlY3Rvcjo6
ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjppbnN0YWxsKToKKyAgICAgICAgKFdl
YkNvcmU6OkRPTVRpbWVyOjp1cGRhdGVUaHJvdHRsaW5nU3RhdGVJZk5lY2Vzc2FyeSk6CisgICAg
ICAgIChXZWJDb3JlOjpET01UaW1lcjo6ZmlyZWQpOgorICAgICAgICAqIHBhZ2UvRE9NVGltZXIu
aDoKKwogMjAxNC0xMC0zMSAgQW5kcnplaiBCYWRvd3NraSAgPGEuYmFkb3dza2lAc2Ftc3VuZy5j
b20+CiAKICAgICAgICAgW0FUS10gSW1wcm92ZSBBY2Nlc3NpYmlsaXR5VGFibGVDZWxsJ3MgZGV0
ZXJtaW5lQWNjZXNzaWJpbGl0eVJvbGUgZnVuY3Rpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVRpbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3Bw
CmluZGV4IDM0YjVjMzVmOTE1OTAxOWIyMTczYzE1YmI1YTAyNjBiNWU1NGYwODQuLjk4OThlMTBi
ZjU1YjczZGJmOGNmNjFkN2Y0MDJkOTVlYTFkNjk0ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIu
Y3BwCkBAIC04NCw2ICs4NCw0MiBAQCBwcml2YXRlOgogCiBET01UaW1lckZpcmVTdGF0ZSogRE9N
VGltZXJGaXJlU3RhdGU6OmN1cnJlbnQgPSBudWxscHRyOwogCitzdHJ1Y3QgTmVzdGVkVGltZXJz
VmVjdG9yIHsKKyAgICB0eXBlZGVmIFZlY3RvcjxET01UaW1lcio+Ojpjb25zdF9pdGVyYXRvciBj
b25zdF9pdGVyYXRvcjsKKworICAgIE5lc3RlZFRpbWVyc1ZlY3RvcihTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0KQorICAgICAgICA6IHNob3VsZFNldEN1cnJlbnQoY29udGV4dC0+aXNE
b2N1bWVudCgpKQorICAgIHsKKyAgICAgICAgaWYgKHNob3VsZFNldEN1cnJlbnQpIHsKKyAgICAg
ICAgICAgIHByZXZpb3VzID0gY3VycmVudDsKKyAgICAgICAgICAgIGN1cnJlbnQgPSB0aGlzOwor
ICAgICAgICB9CisgICAgfQorCisgICAgfk5lc3RlZFRpbWVyc1ZlY3RvcigpCisgICAgeworICAg
ICAgICBpZiAoc2hvdWxkU2V0Q3VycmVudCkKKyAgICAgICAgICAgIGN1cnJlbnQgPSBwcmV2aW91
czsKKyAgICB9CisKKyAgICBzdGF0aWMgTmVzdGVkVGltZXJzVmVjdG9yKiBjdXJyZW50OworCisg
ICAgdm9pZCByZWdpc3RlclRpbWVyKERPTVRpbWVyKiB0aW1lcikKKyAgICB7CisgICAgICAgIG5l
c3RlZFRpbWVycy5hcHBlbmQodGltZXIpOworICAgIH0KKworICAgIGNvbnN0X2l0ZXJhdG9yIGJl
Z2luKCkgY29uc3QgeyByZXR1cm4gbmVzdGVkVGltZXJzLmJlZ2luKCk7IH0KKyAgICBjb25zdF9p
dGVyYXRvciBlbmQoKSBjb25zdCB7IHJldHVybiBuZXN0ZWRUaW1lcnMuZW5kKCk7IH0KKworcHJp
dmF0ZToKKyAgICBib29sIHNob3VsZFNldEN1cnJlbnQ7CisgICAgTmVzdGVkVGltZXJzVmVjdG9y
KiBwcmV2aW91czsKKyAgICBWZWN0b3I8RE9NVGltZXIqPiBuZXN0ZWRUaW1lcnM7Cit9OworCitO
ZXN0ZWRUaW1lcnNWZWN0b3IqIE5lc3RlZFRpbWVyc1ZlY3Rvcjo6Y3VycmVudCA9IG51bGxwdHI7
CisKIHN0YXRpYyBpbmxpbmUgYm9vbCBzaG91bGRGb3J3YXJkVXNlckdlc3R1cmUoaW50IGludGVy
dmFsLCBpbnQgbmVzdGluZ0xldmVsKQogewogICAgIHJldHVybiBVc2VyR2VzdHVyZUluZGljYXRv
cjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkKQEAgLTEzMyw2ICsxNjksMTAgQEAgaW50IERPTVRp
bWVyOjppbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIHN0ZDo6dW5pcXVl
X3B0cjxTY2hlZHVsZWQKICAgICB0aW1lci0+c3VzcGVuZElmTmVlZGVkKCk7CiAgICAgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRJbnN0YWxsVGltZXIoY29udGV4dCwgdGltZXItPm1fdGlt
ZW91dElkLCB0aW1lb3V0LCBzaW5nbGVTaG90KTsKIAorICAgIC8vIEtlZXAgdHJhY2sgb2YgbmVz
dGVkIHRpbWVyIGluc3RhbGxzLgorICAgIGlmIChOZXN0ZWRUaW1lcnNWZWN0b3I6OmN1cnJlbnQp
CisgICAgICAgIE5lc3RlZFRpbWVyc1ZlY3Rvcjo6Y3VycmVudC0+cmVnaXN0ZXJUaW1lcih0aW1l
cik7CisKICAgICByZXR1cm4gdGltZXItPm1fdGltZW91dElkOwogfQogCkBAIC0xNDgsNiArMTg4
LDE3IEBAIHZvaWQgRE9NVGltZXI6OnJlbW92ZUJ5SWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
Y29udGV4dCwgaW50IHRpbWVvdXRJZCkKICAgICBjb250ZXh0LT5yZW1vdmVUaW1lb3V0KHRpbWVv
dXRJZCk7CiB9CiAKK3ZvaWQgRE9NVGltZXI6OnVwZGF0ZVRocm90dGxpbmdTdGF0ZUlmTmVjZXNz
YXJ5KGNvbnN0IERPTVRpbWVyRmlyZVN0YXRlJiBmaXJlU3RhdGUpCit7CisgICAgaWYgKGZpcmVT
dGF0ZS5zY3JpcHREaWRJbnRlcmFjdFdpdGhVc2VyT2JzZXJ2YWJsZVBsdWdpbiAmJiBtX3Rocm90
dGxlU3RhdGUgIT0gU2hvdWxkTm90VGhyb3R0bGUpIHsKKyAgICAgICAgbV90aHJvdHRsZVN0YXRl
ID0gU2hvdWxkTm90VGhyb3R0bGU7CisgICAgICAgIHVwZGF0ZVRpbWVySW50ZXJ2YWxJZk5lY2Vz
c2FyeSgpOworICAgIH0gZWxzZSBpZiAoZmlyZVN0YXRlLnNjcmlwdERpZEludGVyYWN0V2l0aE5v
blVzZXJPYnNlcnZhYmxlUGx1Z2luICYmIG1fdGhyb3R0bGVTdGF0ZSA9PSBVbmRldGVybWluZWQp
IHsKKyAgICAgICAgbV90aHJvdHRsZVN0YXRlID0gU2hvdWxkVGhyb3R0bGU7CisgICAgICAgIHVw
ZGF0ZVRpbWVySW50ZXJ2YWxJZk5lY2Vzc2FyeSgpOworICAgIH0KK30KKwogdm9pZCBET01UaW1l
cjo6c2NyaXB0RGlkSW50ZXJhY3RXaXRoUGx1Z2luKEhUTUxQbHVnSW5FbGVtZW50JiBwbHVnaW5F
bGVtZW50KQogewogICAgIGlmICghRE9NVGltZXJGaXJlU3RhdGU6OmN1cnJlbnQpCkBAIC0xOTgs
MTQgKzI0OSw3IEBAIHZvaWQgRE9NVGltZXI6OmZpcmVkKCkKICAgICAgICAgbV9hY3Rpb24tPmV4
ZWN1dGUoY29udGV4dCk7CiAKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRG
aXJlVGltZXIoY29va2llKTsKLQotICAgICAgICBpZiAoZmlyZVN0YXRlLnNjcmlwdERpZEludGVy
YWN0V2l0aFVzZXJPYnNlcnZhYmxlUGx1Z2luICYmIG1fdGhyb3R0bGVTdGF0ZSAhPSBTaG91bGRO
b3RUaHJvdHRsZSkgewotICAgICAgICAgICAgbV90aHJvdHRsZVN0YXRlID0gU2hvdWxkTm90VGhy
b3R0bGU7Ci0gICAgICAgICAgICB1cGRhdGVUaW1lckludGVydmFsSWZOZWNlc3NhcnkoKTsKLSAg
ICAgICAgfSBlbHNlIGlmIChmaXJlU3RhdGUuc2NyaXB0RGlkSW50ZXJhY3RXaXRoTm9uVXNlck9i
c2VydmFibGVQbHVnaW4gJiYgbV90aHJvdHRsZVN0YXRlID09IFVuZGV0ZXJtaW5lZCkgewotICAg
ICAgICAgICAgbV90aHJvdHRsZVN0YXRlID0gU2hvdWxkVGhyb3R0bGU7Ci0gICAgICAgICAgICB1
cGRhdGVUaW1lckludGVydmFsSWZOZWNlc3NhcnkoKTsKLSAgICAgICAgfQorICAgICAgICB1cGRh
dGVUaHJvdHRsaW5nU3RhdGVJZk5lY2Vzc2FyeShmaXJlU3RhdGUpOwogCiAgICAgICAgIHJldHVy
bjsKICAgICB9CkBAIC0yMjksNiArMjczLDggQEAgdm9pZCBET01UaW1lcjo6ZmlyZWQoKQogICAg
IH0KICNlbmRpZgogCisgICAgLy8gS2VlcCB0cmFjayBuZXN0ZWQgdGltZXIgaW5zdGFsbHMuCisg
ICAgTmVzdGVkVGltZXJzVmVjdG9yIG5lc3RlZFRpbWVycyhjb250ZXh0KTsKICAgICBtX2FjdGlv
bi0+ZXhlY3V0ZShjb250ZXh0KTsKIAogI2lmIFBMQVRGT1JNKElPUykKQEAgLTI0Myw2ICsyODks
MTIgQEAgdm9pZCBET01UaW1lcjo6ZmlyZWQoKQogCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWRGaXJlVGltZXIoY29va2llKTsKIAorICAgIC8vIENoZWNrIGlmIHdlIHNob3VsZCB0
aHJvdHRsZSBuZXN0ZWQgc2luZ2xlLXNob3QgdGltZXJzLgorICAgIGZvciAoYXV0byogdGltZXIg
OiBuZXN0ZWRUaW1lcnMpIHsKKyAgICAgICAgaWYgKCF0aW1lci0+cmVwZWF0SW50ZXJ2YWwoKSkK
KyAgICAgICAgICAgIHRpbWVyLT51cGRhdGVUaHJvdHRsaW5nU3RhdGVJZk5lY2Vzc2FyeShmaXJl
U3RhdGUpOworICAgIH0KKwogICAgIGNvbnRleHQtPnNldFRpbWVyTmVzdGluZ0xldmVsKDApOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVRpbWVyLmgKaW5kZXggODY1NGRmNDgzZDg1YjJmYThhYWMzOTgyNTMy
NDYwOGZlNTA5YzA3Zi4uZGQxYjFmNDNlZjE2NzY4YjA2NzIxZTMwOGNkZTY5MzhiNTViM2I5OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NVGltZXIuaApAQCAtMzMsNiArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKKyAgICBzdHJ1Y3QgRE9NVGltZXJGaXJlU3RhdGU7CiAgICAgY2xhc3MgSFRNTFBs
dWdJbkVsZW1lbnQ7CiAgICAgY2xhc3MgU2NoZWR1bGVkQWN0aW9uOwogCkBAIC01NCw2ICs1NSw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBwcml2YXRlOgogICAgICAgICBET01UaW1lcihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0Kiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4s
IGludCBpbnRlcnZhbCwgYm9vbCBzaW5nbGVTaG90KTsKICAgICAgICAgZG91YmxlIGludGVydmFs
Q2xhbXBlZFRvTWluaW11bSgpIGNvbnN0OworICAgICAgICB2b2lkIHVwZGF0ZVRocm90dGxpbmdT
dGF0ZUlmTmVjZXNzYXJ5KGNvbnN0IERPTVRpbWVyRmlyZVN0YXRlJik7CiAKICAgICAgICAgLy8g
U3VzcGVuZGFibGVUaW1lcgogICAgICAgICB2aXJ0dWFsIHZvaWQgZmlyZWQoKSBvdmVycmlkZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240768</attachid>
            <date>2014-10-31 16:24:38 -0700</date>
            <delta_ts>2014-11-06 11:33:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138262-20141031162447.patch</filename>
            <type>text/plain</type>
            <size>6208</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1NDI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGYxNTczZWQ3NWRiMGI2
NTUzOWZlOTQzYzdkYWUxOTVkMzcyMTM4Yi4uOTM5ODMzMGQzMDg0ZWQxYTMxYjJiNjA4ZmYxYzlj
ZTY1NTI1MzYzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMzIEBACiAyMDE0LTEwLTMxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgU3VwcG9ydCB0aHJvdHRsaW5n
IG9mIERPTVRpbWVycyB1c2luZyBuZXN0ZWQgc2V0VGltZW91dCgpIGNhbGxzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzgyNjIKKworICAgICAgICBS
ZXZpZXdlZCBieSBHYXZpbiBCYXJyYWNsb3VnaC4KKworICAgICAgICBFeHRlbmQgRE9NVGltZXJz
IHRocm90dGxpbmcgc3VwcG9ydCB0byB0aW1lcnMgdGhhdCBhcmUgdXNpbmcgbmVzdGVkCisgICAg
ICAgIHNldFRpbWVvdXQoKSBjYWxscyBpbnN0ZWFkIG9mIGEgc2V0SW50ZXJ2YWwoKS4gVG8gYWNo
aWV2ZSB0aGlzLCB0aGlzCisgICAgICAgIHBhdGNoIGludHJvZHVjZXMgYSBOZXN0ZWRUaW1lcnNW
ZWN0b3Igc2luZ2xldG9uIGNsYXNzIHdoZXJlIG5lc3RlZAorICAgICAgICB0aW1lcnMgYXJlIGFw
cGVuZGVkLCBhbmQgZm9yIHdoaWNoIHdlIHBvdGVudGlhbGx5IHVwZGF0ZSB0aGUgbmV4dAorICAg
ICAgICBmaXJpbmcgdGltZSwgYWZ0ZXIgdGhlIHBhcmVudCB0aW1lciBpcyBkb25lIGV4ZWN1dGlu
Zy4KKworICAgICAgICBJIGhhdmUgdmVyaWZpZWQgdGhpcyBoZWxwcyBvbiBjbm4uY29tIGZvciBl
eGFtcGxlLCB3aGljaCBoYXMgdGltZXJzCisgICAgICAgIGludGVyYWN0aW5nIHdpdGggbm9uLXZp
c2libGUgcGx1Z2lucyB0aGF0IGFyZSBzY2hlZHVsZWQgdXNpbmcgbmVzdGVkCisgICAgICAgIHNl
dFRpbWVvdXQoKSBjYWxscyB3aXRoIGEgZnJlcXVlbmN5IG9mIDE1MCAvIDIwMCBtcy4KKworICAg
ICAgICAqIHBhZ2UvRE9NVGltZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmVzdGVkVGltZXJz
VmVjdG9yOjpOZXN0ZWRUaW1lcnNWZWN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6TmVzdGVkVGlt
ZXJzVmVjdG9yOjp+TmVzdGVkVGltZXJzVmVjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6Ok5lc3Rl
ZFRpbWVyc1ZlY3Rvcjo6cmVnaXN0ZXJUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpOZXN0ZWRU
aW1lcnNWZWN0b3I6OmJlZ2luKToKKyAgICAgICAgKFdlYkNvcmU6Ok5lc3RlZFRpbWVyc1ZlY3Rv
cjo6ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjppbnN0YWxsKToKKyAgICAgICAg
KFdlYkNvcmU6OkRPTVRpbWVyOjp1cGRhdGVUaHJvdHRsaW5nU3RhdGVJZk5lY2Vzc2FyeSk6Cisg
ICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6ZmlyZWQpOgorICAgICAgICAqIHBhZ2UvRE9NVGlt
ZXIuaDoKKworMjAxNC0xMC0zMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAg
ICAgICAgIE1ha2UgQ1NTRGVmYXVsdFN0eWxlU2hlZXRzOjplbnN1cmVEZWZhdWx0U3R5bGVTaGVl
dHNGb3JFbGVtZW50KCkgZmFzdGVyCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMzgyMjcKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01UaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcAppbmRleCAzNGI1
YzM1ZjkxNTkwMTliMjE3M2MxNWJiNWEwMjYwYjVlNTRmMDg0Li5kOGM4MTE4YmMyYmFkYWU4YjQw
OWUwMzQ1ZGE5MjE5MTUyMjJlMjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVRpbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcApAQCAtODQs
NiArODQsNDIgQEAgcHJpdmF0ZToKIAogRE9NVGltZXJGaXJlU3RhdGUqIERPTVRpbWVyRmlyZVN0
YXRlOjpjdXJyZW50ID0gbnVsbHB0cjsKIAorc3RydWN0IE5lc3RlZFRpbWVyc1ZlY3RvciB7Cisg
ICAgdHlwZWRlZiBWZWN0b3I8RE9NVGltZXIqLCAxPjo6Y29uc3RfaXRlcmF0b3IgY29uc3RfaXRl
cmF0b3I7CisKKyAgICBOZXN0ZWRUaW1lcnNWZWN0b3IoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
Y29udGV4dCkKKyAgICAgICAgOiBzaG91bGRTZXRDdXJyZW50KGNvbnRleHQtPmlzRG9jdW1lbnQo
KSkKKyAgICB7CisgICAgICAgIGlmIChzaG91bGRTZXRDdXJyZW50KSB7CisgICAgICAgICAgICBw
cmV2aW91cyA9IGN1cnJlbnQ7CisgICAgICAgICAgICBjdXJyZW50ID0gdGhpczsKKyAgICAgICAg
fQorICAgIH0KKworICAgIH5OZXN0ZWRUaW1lcnNWZWN0b3IoKQorICAgIHsKKyAgICAgICAgaWYg
KHNob3VsZFNldEN1cnJlbnQpCisgICAgICAgICAgICBjdXJyZW50ID0gcHJldmlvdXM7CisgICAg
fQorCisgICAgc3RhdGljIE5lc3RlZFRpbWVyc1ZlY3RvciogY3VycmVudDsKKworICAgIHZvaWQg
cmVnaXN0ZXJUaW1lcihET01UaW1lciogdGltZXIpCisgICAgeworICAgICAgICBuZXN0ZWRUaW1l
cnMuYXBwZW5kKHRpbWVyKTsKKyAgICB9CisKKyAgICBjb25zdF9pdGVyYXRvciBiZWdpbigpIGNv
bnN0IHsgcmV0dXJuIG5lc3RlZFRpbWVycy5iZWdpbigpOyB9CisgICAgY29uc3RfaXRlcmF0b3Ig
ZW5kKCkgY29uc3QgeyByZXR1cm4gbmVzdGVkVGltZXJzLmVuZCgpOyB9CisKK3ByaXZhdGU6Cisg
ICAgYm9vbCBzaG91bGRTZXRDdXJyZW50OworICAgIE5lc3RlZFRpbWVyc1ZlY3RvciogcHJldmlv
dXM7CisgICAgVmVjdG9yPERPTVRpbWVyKiwgMT4gbmVzdGVkVGltZXJzOworfTsKKworTmVzdGVk
VGltZXJzVmVjdG9yKiBOZXN0ZWRUaW1lcnNWZWN0b3I6OmN1cnJlbnQgPSBudWxscHRyOworCiBz
dGF0aWMgaW5saW5lIGJvb2wgc2hvdWxkRm9yd2FyZFVzZXJHZXN0dXJlKGludCBpbnRlcnZhbCwg
aW50IG5lc3RpbmdMZXZlbCkKIHsKICAgICByZXR1cm4gVXNlckdlc3R1cmVJbmRpY2F0b3I6OnBy
b2Nlc3NpbmdVc2VyR2VzdHVyZSgpCkBAIC0xMzMsNiArMTY5LDEwIEBAIGludCBET01UaW1lcjo6
aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8
U2NoZWR1bGVkCiAgICAgdGltZXItPnN1c3BlbmRJZk5lZWRlZCgpOwogICAgIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6ZGlkSW5zdGFsbFRpbWVyKGNvbnRleHQsIHRpbWVyLT5tX3RpbWVvdXRJ
ZCwgdGltZW91dCwgc2luZ2xlU2hvdCk7CiAKKyAgICAvLyBLZWVwIHRyYWNrIG9mIG5lc3RlZCB0
aW1lciBpbnN0YWxscy4KKyAgICBpZiAoTmVzdGVkVGltZXJzVmVjdG9yOjpjdXJyZW50KQorICAg
ICAgICBOZXN0ZWRUaW1lcnNWZWN0b3I6OmN1cnJlbnQtPnJlZ2lzdGVyVGltZXIodGltZXIpOwor
CiAgICAgcmV0dXJuIHRpbWVyLT5tX3RpbWVvdXRJZDsKIH0KIApAQCAtMTQ4LDYgKzE4OCwxNyBA
QCB2b2lkIERPTVRpbWVyOjpyZW1vdmVCeUlkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQsIGludCB0aW1lb3V0SWQpCiAgICAgY29udGV4dC0+cmVtb3ZlVGltZW91dCh0aW1lb3V0SWQp
OwogfQogCit2b2lkIERPTVRpbWVyOjp1cGRhdGVUaHJvdHRsaW5nU3RhdGVJZk5lY2Vzc2FyeShj
b25zdCBET01UaW1lckZpcmVTdGF0ZSYgZmlyZVN0YXRlKQoreworICAgIGlmIChmaXJlU3RhdGUu
c2NyaXB0RGlkSW50ZXJhY3RXaXRoVXNlck9ic2VydmFibGVQbHVnaW4gJiYgbV90aHJvdHRsZVN0
YXRlICE9IFNob3VsZE5vdFRocm90dGxlKSB7CisgICAgICAgIG1fdGhyb3R0bGVTdGF0ZSA9IFNo
b3VsZE5vdFRocm90dGxlOworICAgICAgICB1cGRhdGVUaW1lckludGVydmFsSWZOZWNlc3Nhcnko
KTsKKyAgICB9IGVsc2UgaWYgKGZpcmVTdGF0ZS5zY3JpcHREaWRJbnRlcmFjdFdpdGhOb25Vc2Vy
T2JzZXJ2YWJsZVBsdWdpbiAmJiBtX3Rocm90dGxlU3RhdGUgPT0gVW5kZXRlcm1pbmVkKSB7Cisg
ICAgICAgIG1fdGhyb3R0bGVTdGF0ZSA9IFNob3VsZFRocm90dGxlOworICAgICAgICB1cGRhdGVU
aW1lckludGVydmFsSWZOZWNlc3NhcnkoKTsKKyAgICB9Cit9CisKIHZvaWQgRE9NVGltZXI6OnNj
cmlwdERpZEludGVyYWN0V2l0aFBsdWdpbihIVE1MUGx1Z0luRWxlbWVudCYgcGx1Z2luRWxlbWVu
dCkKIHsKICAgICBpZiAoIURPTVRpbWVyRmlyZVN0YXRlOjpjdXJyZW50KQpAQCAtMTk4LDE0ICsy
NDksNyBAQCB2b2lkIERPTVRpbWVyOjpmaXJlZCgpCiAgICAgICAgIG1fYWN0aW9uLT5leGVjdXRl
KGNvbnRleHQpOwogCiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmlyZVRp
bWVyKGNvb2tpZSk7Ci0KLSAgICAgICAgaWYgKGZpcmVTdGF0ZS5zY3JpcHREaWRJbnRlcmFjdFdp
dGhVc2VyT2JzZXJ2YWJsZVBsdWdpbiAmJiBtX3Rocm90dGxlU3RhdGUgIT0gU2hvdWxkTm90VGhy
b3R0bGUpIHsKLSAgICAgICAgICAgIG1fdGhyb3R0bGVTdGF0ZSA9IFNob3VsZE5vdFRocm90dGxl
OwotICAgICAgICAgICAgdXBkYXRlVGltZXJJbnRlcnZhbElmTmVjZXNzYXJ5KCk7Ci0gICAgICAg
IH0gZWxzZSBpZiAoZmlyZVN0YXRlLnNjcmlwdERpZEludGVyYWN0V2l0aE5vblVzZXJPYnNlcnZh
YmxlUGx1Z2luICYmIG1fdGhyb3R0bGVTdGF0ZSA9PSBVbmRldGVybWluZWQpIHsKLSAgICAgICAg
ICAgIG1fdGhyb3R0bGVTdGF0ZSA9IFNob3VsZFRocm90dGxlOwotICAgICAgICAgICAgdXBkYXRl
VGltZXJJbnRlcnZhbElmTmVjZXNzYXJ5KCk7Ci0gICAgICAgIH0KKyAgICAgICAgdXBkYXRlVGhy
b3R0bGluZ1N0YXRlSWZOZWNlc3NhcnkoZmlyZVN0YXRlKTsKIAogICAgICAgICByZXR1cm47CiAg
ICAgfQpAQCAtMjI5LDYgKzI3Myw4IEBAIHZvaWQgRE9NVGltZXI6OmZpcmVkKCkKICAgICB9CiAj
ZW5kaWYKIAorICAgIC8vIEtlZXAgdHJhY2sgbmVzdGVkIHRpbWVyIGluc3RhbGxzLgorICAgIE5l
c3RlZFRpbWVyc1ZlY3RvciBuZXN0ZWRUaW1lcnMoY29udGV4dCk7CiAgICAgbV9hY3Rpb24tPmV4
ZWN1dGUoY29udGV4dCk7CiAKICNpZiBQTEFURk9STShJT1MpCkBAIC0yNDMsNiArMjg5LDEyIEBA
IHZvaWQgRE9NVGltZXI6OmZpcmVkKCkKIAogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkRmlyZVRpbWVyKGNvb2tpZSk7CiAKKyAgICAvLyBDaGVjayBpZiB3ZSBzaG91bGQgdGhyb3R0
bGUgbmVzdGVkIHNpbmdsZS1zaG90IHRpbWVycy4KKyAgICBmb3IgKGF1dG8qIHRpbWVyIDogbmVz
dGVkVGltZXJzKSB7CisgICAgICAgIGlmICghdGltZXItPnJlcGVhdEludGVydmFsKCkpCisgICAg
ICAgICAgICB0aW1lci0+dXBkYXRlVGhyb3R0bGluZ1N0YXRlSWZOZWNlc3NhcnkoZmlyZVN0YXRl
KTsKKyAgICB9CisKICAgICBjb250ZXh0LT5zZXRUaW1lck5lc3RpbmdMZXZlbCgwKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01UaW1lci5oCmluZGV4IDg2NTRkZjQ4M2Q4NWIyZmE4YWFjMzk4MjUzMjQ2MDhm
ZTUwOWMwN2YuLmRkMWIxZjQzZWYxNjc2OGIwNjcyMWUzMDhjZGU2OTM4YjU1YjNiOTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVRpbWVyLmgKQEAgLTMzLDYgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCisgICAgc3RydWN0IERPTVRpbWVyRmlyZVN0YXRlOwogICAgIGNsYXNzIEhUTUxQbHVnSW5F
bGVtZW50OwogICAgIGNsYXNzIFNjaGVkdWxlZEFjdGlvbjsKIApAQCAtNTQsNiArNTUsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgcHJpdmF0ZToKICAgICAgICAgRE9NVGltZXIoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCosIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBpbnQg
aW50ZXJ2YWwsIGJvb2wgc2luZ2xlU2hvdCk7CiAgICAgICAgIGRvdWJsZSBpbnRlcnZhbENsYW1w
ZWRUb01pbmltdW0oKSBjb25zdDsKKyAgICAgICAgdm9pZCB1cGRhdGVUaHJvdHRsaW5nU3RhdGVJ
Zk5lY2Vzc2FyeShjb25zdCBET01UaW1lckZpcmVTdGF0ZSYpOwogCiAgICAgICAgIC8vIFN1c3Bl
bmRhYmxlVGltZXIKICAgICAgICAgdmlydHVhbCB2b2lkIGZpcmVkKCkgb3ZlcnJpZGU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241120</attachid>
            <date>2014-11-06 11:33:57 -0800</date>
            <delta_ts>2014-11-10 12:29:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138262-20141106113408.patch</filename>
            <type>text/plain</type>
            <size>4988</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1Njk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWUyMzg5MTNjODE0ZWQ2
NWNmZTk4MGIyYjk2MzQ5MDAwMzMwNmU3NS4uODFiYmM5NzVjOTc2NzYzYjY3OGQyNDAwY2YxMTNl
NGM5NmJjZmZjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQxIEBACiAyMDE0LTExLTA2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgU3VwcG9ydCB0aHJvdHRsaW5n
IG9mIERPTVRpbWVycyB1c2luZyBuZXN0ZWQgc2V0VGltZW91dCgpIGNhbGxzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzgyNjIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHRlbmQgRE9NVGltZXJzIHRo
cm90dGxpbmcgc3VwcG9ydCB0byB0aW1lcnMgdGhhdCBhcmUgdXNpbmcgbmVzdGVkCisgICAgICAg
IHNldFRpbWVvdXQoKSBjYWxscyBpbnN0ZWFkIG9mIGEgc2V0SW50ZXJ2YWwoKS4gVG8gYWNoaWV2
ZSB0aGlzLCB0aGlzCisgICAgICAgIHBhdGNoIGludHJvZHVjZXMgYSBOZXN0ZWRUaW1lcnNNYXAg
c2luZ2xldG9uIGNsYXNzIHdoZXJlIG5lc3RlZCB0aW1lcnMKKyAgICAgICAgYXJlIGFkZGVkLCBh
bmQgZm9yIHdoaWNoIHdlIHBvdGVudGlhbGx5IHVwZGF0ZSB0aGUgbmV4dCBmaXJpbmcgdGltZSwK
KyAgICAgICAgYWZ0ZXIgdGhlIHBhcmVudCB0aW1lciBpcyBkb25lIGV4ZWN1dGluZy4KKworICAg
ICAgICBJIGhhdmUgdmVyaWZpZWQgdGhpcyBoZWxwcyBvbiBjbm4uY29tIGZvciBleGFtcGxlLCB3
aGljaCBoYXMgdGltZXJzCisgICAgICAgIGludGVyYWN0aW5nIHdpdGggbm9uLXZpc2libGUgcGx1
Z2lucyB0aGF0IGFyZSBzY2hlZHVsZWQgdXNpbmcgbmVzdGVkCisgICAgICAgIHNldFRpbWVvdXQo
KSBjYWxscyB3aXRoIGEgZnJlcXVlbmN5IG9mIDE1MCAvIDIwMCBtcy4KKworICAgICAgICBUaGlz
IGlzIGEgc2Vjb25kIHRha2Ugb24gcjE3NTQ0MSwgd2hpY2ggY2F1c2VkIGludGVybWl0dGVudCBj
cmFzaGVzLgorICAgICAgICBUaGlzIHRpbWUsIG5lc3RlZCB0aW1lcnMgYXJlIHJlbW92ZWQgZnJv
bSB0aGUgTmVzdGVkVGltZXJzTWFwIHdoZW4KKyAgICAgICAgRE9NVGltZXI6OnJlbW92ZUJ5SWQo
KSBpcyBjYWxsZWQuIEl0IHdvdWxkIGJlIHVuc2FmZSB0byB1c2UgdGhlIG5lc3RlZAorICAgICAg
ICB0aW1lciBhZnRlcndhcmRzIGJlY2F1c2Ugd2UgZG9uJ3QgaG9sZCBhIHN0cm9uZyByZWZlcmVu
Y2UgdG8gaXQgYW5kCisgICAgICAgIHRoZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0IGlzIHVucmVm
J2luZyB0aGUgRE9NVGltZXIgd2hlbgorICAgICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojpy
ZW1vdmVUaW1lb3V0KCkgaXMgY2FsbGVkIGZyb20KKyAgICAgICAgRE9NVGltZXI6OnJlbW92ZUJ5
SWQoKS4KKworICAgICAgICAqIHBhZ2UvRE9NVGltZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TmVzdGVkVGltZXJzTWFwOjpOZXN0ZWRUaW1lcnNNYXApOgorICAgICAgICAoV2ViQ29yZTo6TmVz
dGVkVGltZXJzTWFwOjp+TmVzdGVkVGltZXJzTWFwKToKKyAgICAgICAgKFdlYkNvcmU6Ok5lc3Rl
ZFRpbWVyc01hcDo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6Ok5lc3RlZFRpbWVyc01hcDo6cmVt
b3ZlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5lc3RlZFRpbWVyc01hcDo6YmVnaW4pOgorICAgICAg
ICAoV2ViQ29yZTo6TmVzdGVkVGltZXJzTWFwOjplbmQpOgorICAgICAgICAoV2ViQ29yZTo6RE9N
VGltZXI6Omluc3RhbGwpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVGltZXI6OnJlbW92ZUJ5SWQp
OgorICAgICAgICAoV2ViQ29yZTo6RE9NVGltZXI6OmZpcmVkKToKKworMjAxNC0xMS0wNiAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIFVzZSBsYW1iZGEgZnVuY3Rp
b25zIGluIERvY3VtZW50T3JkZXJlZE1hcAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTM4Mzc2CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAKaW5kZXgg
MTYxOGRmMTc3MzRmOTdkYjYwZjBmNzA1YTE4ZTZmYmM4ZWEwOTc3OC4uYTkxNDkwNjcwYjg2MjNm
M2ViZGRlZDFiNzQxYjRjMTk1MGNjOTIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01UaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAKQEAg
LTg1LDYgKzg1LDQ3IEBAIHByaXZhdGU6CiAKIERPTVRpbWVyRmlyZVN0YXRlKiBET01UaW1lckZp
cmVTdGF0ZTo6Y3VycmVudCA9IG51bGxwdHI7CiAKK3N0cnVjdCBOZXN0ZWRUaW1lcnNNYXAgewor
ICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIERPTVRpbWVyKj46OmNvbnN0X2l0ZXJhdG9yIGNvbnN0
X2l0ZXJhdG9yOworCisgICAgTmVzdGVkVGltZXJzTWFwKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQpCisgICAgICAgIDogc2hvdWxkU2V0Q3VycmVudChjb250ZXh0LT5pc0RvY3VtZW50
KCkpCisgICAgeworICAgICAgICBpZiAoc2hvdWxkU2V0Q3VycmVudCkgeworICAgICAgICAgICAg
cHJldmlvdXMgPSBjdXJyZW50OworICAgICAgICAgICAgY3VycmVudCA9IHRoaXM7CisgICAgICAg
IH0KKyAgICB9CisKKyAgICB+TmVzdGVkVGltZXJzTWFwKCkKKyAgICB7CisgICAgICAgIGlmIChz
aG91bGRTZXRDdXJyZW50KQorICAgICAgICAgICAgY3VycmVudCA9IHByZXZpb3VzOworICAgIH0K
KworICAgIHN0YXRpYyBOZXN0ZWRUaW1lcnNNYXAqIGN1cnJlbnQ7CisKKyAgICB2b2lkIGFkZChp
bnQgdGltZW91dElkLCBET01UaW1lciogdGltZXIpCisgICAgeworICAgICAgICBuZXN0ZWRUaW1l
cnMuYWRkKHRpbWVvdXRJZCwgdGltZXIpOworICAgIH0KKworICAgIHZvaWQgcmVtb3ZlKGludCB0
aW1lb3V0SWQpCisgICAgeworICAgICAgICBuZXN0ZWRUaW1lcnMucmVtb3ZlKHRpbWVvdXRJZCk7
CisgICAgfQorCisgICAgY29uc3RfaXRlcmF0b3IgYmVnaW4oKSBjb25zdCB7IHJldHVybiBuZXN0
ZWRUaW1lcnMuYmVnaW4oKTsgfQorICAgIGNvbnN0X2l0ZXJhdG9yIGVuZCgpIGNvbnN0IHsgcmV0
dXJuIG5lc3RlZFRpbWVycy5lbmQoKTsgfQorCitwcml2YXRlOgorICAgIGJvb2wgc2hvdWxkU2V0
Q3VycmVudDsKKyAgICBOZXN0ZWRUaW1lcnNNYXAqIHByZXZpb3VzOworICAgIEhhc2hNYXA8aW50
IC8qIHRpbWVvdXRJZCAqLywgRE9NVGltZXIqPiBuZXN0ZWRUaW1lcnM7Cit9OworCitOZXN0ZWRU
aW1lcnNNYXAqIE5lc3RlZFRpbWVyc01hcDo6Y3VycmVudCA9IG51bGxwdHI7CisKIHN0YXRpYyBp
bmxpbmUgYm9vbCBzaG91bGRGb3J3YXJkVXNlckdlc3R1cmUoaW50IGludGVydmFsLCBpbnQgbmVz
dGluZ0xldmVsKQogewogICAgIHJldHVybiBVc2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2lu
Z1VzZXJHZXN0dXJlKCkKQEAgLTEzNCw2ICsxNzUsMTAgQEAgaW50IERPTVRpbWVyOjppbnN0YWxs
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVs
ZWQKICAgICB0aW1lci0+c3VzcGVuZElmTmVlZGVkKCk7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkaWRJbnN0YWxsVGltZXIoY29udGV4dCwgdGltZXItPm1fdGltZW91dElkLCB0aW1l
b3V0LCBzaW5nbGVTaG90KTsKIAorICAgIC8vIEtlZXAgdHJhY2sgb2YgbmVzdGVkIHRpbWVyIGlu
c3RhbGxzLgorICAgIGlmIChOZXN0ZWRUaW1lcnNNYXA6OmN1cnJlbnQpCisgICAgICAgIE5lc3Rl
ZFRpbWVyc01hcDo6Y3VycmVudC0+YWRkKHRpbWVyLT5tX3RpbWVvdXRJZCwgdGltZXIpOworCiAg
ICAgcmV0dXJuIHRpbWVyLT5tX3RpbWVvdXRJZDsKIH0KIApAQCAtMTQ1LDYgKzE5MCw5IEBAIHZv
aWQgRE9NVGltZXI6OnJlbW92ZUJ5SWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwg
aW50IHRpbWVvdXRJZCkKICAgICBpZiAodGltZW91dElkIDw9IDApCiAgICAgICAgIHJldHVybjsK
IAorICAgIGlmIChOZXN0ZWRUaW1lcnNNYXA6OmN1cnJlbnQpCisgICAgICAgIE5lc3RlZFRpbWVy
c01hcDo6Y3VycmVudC0+cmVtb3ZlKHRpbWVvdXRJZCk7CisKICAgICBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZFJlbW92ZVRpbWVyKGNvbnRleHQsIHRpbWVvdXRJZCk7CiAgICAgY29udGV4
dC0+cmVtb3ZlVGltZW91dCh0aW1lb3V0SWQpOwogfQpAQCAtMjM4LDYgKzI4Niw4IEBAIHZvaWQg
RE9NVGltZXI6OmZpcmVkKCkKICAgICB9CiAjZW5kaWYKIAorICAgIC8vIEtlZXAgdHJhY2sgbmVz
dGVkIHRpbWVyIGluc3RhbGxzLgorICAgIE5lc3RlZFRpbWVyc01hcCBuZXN0ZWRUaW1lcnMoY29u
dGV4dCk7CiAgICAgbV9hY3Rpb24tPmV4ZWN1dGUoY29udGV4dCk7CiAKICNpZiBQTEFURk9STShJ
T1MpCkBAIC0yNTIsNiArMzAyLDEzIEBAIHZvaWQgRE9NVGltZXI6OmZpcmVkKCkKIAogICAgIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmlyZVRpbWVyKGNvb2tpZSk7CiAKKyAgICAvLyBD
aGVjayBpZiB3ZSBzaG91bGQgdGhyb3R0bGUgbmVzdGVkIHNpbmdsZS1zaG90IHRpbWVycy4KKyAg
ICBmb3IgKGF1dG8mIGtleVZhbHVlIDogbmVzdGVkVGltZXJzKSB7CisgICAgICAgIGF1dG8qIHRp
bWVyID0ga2V5VmFsdWUudmFsdWU7CisgICAgICAgIGlmICh0aW1lci0+aXNBY3RpdmUoKSAmJiAh
dGltZXItPnJlcGVhdEludGVydmFsKCkpCisgICAgICAgICAgICB0aW1lci0+dXBkYXRlVGhyb3R0
bGluZ1N0YXRlSWZOZWNlc3NhcnkoZmlyZVN0YXRlKTsKKyAgICB9CisKICAgICBjb250ZXh0LT5z
ZXRUaW1lck5lc3RpbmdMZXZlbCgwKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241299</attachid>
            <date>2014-11-10 12:29:24 -0800</date>
            <delta_ts>2014-11-10 14:06:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138262-20141110122926.patch</filename>
            <type>text/plain</type>
            <size>5974</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1ODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmYzYWJhZDYyODliZThh
OTJkZDQ5NzY0MmI4OGI4NzVlMWFjYTU2YS4uZmFjY2E4NzcxNzM2YTA4MTdhY2U2OGY2OTBhZDgz
ZmY5NTcyOTI2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE0LTExLTA2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU3VwcG9ydCB0aHJvdHRsaW5n
IG9mIERPTVRpbWVycyB1c2luZyBuZXN0ZWQgc2V0VGltZW91dCgpIGNhbGxzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzgyNjIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHRlbmQgRE9NVGltZXJzIHRo
cm90dGxpbmcgc3VwcG9ydCB0byB0aW1lcnMgdGhhdCBhcmUgdXNpbmcgbmVzdGVkCisgICAgICAg
IHNldFRpbWVvdXQoKSBjYWxscyBpbnN0ZWFkIG9mIGEgc2V0SW50ZXJ2YWwoKS4gVG8gYWNoaWV2
ZSB0aGlzLCB0aGlzCisgICAgICAgIHBhdGNoIGludHJvZHVjZXMgYSBOZXN0ZWRUaW1lcnNNYXAg
c2luZ2xldG9uIGNsYXNzIHdoZXJlIG5lc3RlZCB0aW1lcnMKKyAgICAgICAgYXJlIGFkZGVkLCBh
bmQgZm9yIHdoaWNoIHdlIHBvdGVudGlhbGx5IHVwZGF0ZSB0aGUgbmV4dCBmaXJpbmcgdGltZSwK
KyAgICAgICAgYWZ0ZXIgdGhlIHBhcmVudCB0aW1lciBpcyBkb25lIGV4ZWN1dGluZy4KKworICAg
ICAgICBJIGhhdmUgdmVyaWZpZWQgdGhpcyBoZWxwcyBvbiBlYmF5LmNvbSBmb3IgZXhhbXBsZSwg
d2hpY2ggaGFzIHRpbWVycworICAgICAgICBpbnRlcmFjdGluZyB3aXRoIG5vbi12aXNpYmxlIHBs
dWdpbnMgdGhhdCBhcmUgc2NoZWR1bGVkIHVzaW5nIG5lc3RlZAorICAgICAgICBzZXRUaW1lb3V0
KCkgY2FsbHMgd2l0aCBhIGZyZXF1ZW5jeSBvZiAxNTAgLyAyMDAgbXMuCisKKyAgICAgICAgVGhp
cyBpcyBhIHNlY29uZCB0YWtlIG9uIHIxNzU0NDEsIHdoaWNoIGNhdXNlZCBpbnRlcm1pdHRlbnQg
Y3Jhc2hlcy4KKyAgICAgICAgVGhpcyB0aW1lLCBuZXN0ZWQgdGltZXJzIGFyZSByZW1vdmVkIGZy
b20gdGhlIE5lc3RlZFRpbWVyc01hcCB3aGVuCisgICAgICAgIERPTVRpbWVyOjpyZW1vdmVCeUlk
KCkgaXMgY2FsbGVkLiBJdCB3b3VsZCBiZSB1bnNhZmUgdG8gdXNlIHRoZSBuZXN0ZWQKKyAgICAg
ICAgdGltZXIgYWZ0ZXJ3YXJkcyBiZWNhdXNlIHdlIGRvbid0IGhvbGQgYSBzdHJvbmcgcmVmZXJl
bmNlIHRvIGl0IGFuZAorICAgICAgICB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCBpcyB1bnJl
ZidpbmcgdGhlIERPTVRpbWVyIHdoZW4KKyAgICAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6
cmVtb3ZlVGltZW91dCgpIGlzIGNhbGxlZCBmcm9tCisgICAgICAgIERPTVRpbWVyOjpyZW1vdmVC
eUlkKCkuCisKKyAgICAgICAgKiBwYWdlL0RPTVRpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok5lc3RlZFRpbWVyc01hcDo6TmVzdGVkVGltZXJzTWFwKToKKyAgICAgICAgKFdlYkNvcmU6Ok5l
c3RlZFRpbWVyc01hcDo6fk5lc3RlZFRpbWVyc01hcCk6CisgICAgICAgIChXZWJDb3JlOjpOZXN0
ZWRUaW1lcnNNYXA6OmFkZCk6CisgICAgICAgIChXZWJDb3JlOjpOZXN0ZWRUaW1lcnNNYXA6OnJl
bW92ZSk6CisgICAgICAgIChXZWJDb3JlOjpOZXN0ZWRUaW1lcnNNYXA6OmJlZ2luKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok5lc3RlZFRpbWVyc01hcDo6ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkRP
TVRpbWVyOjppbnN0YWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjpyZW1vdmVCeUlk
KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjpmaXJlZCk6CisKIDIwMTQtMTEtMTAgIENz
YWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBDcmFzaCBpbiBX
ZWJDb3JlOjpOb2RlOjpnZXRGbGFnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVRpbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwCmluZGV4IDRkMjI0
YWY2ZDlkZDViNDAyYWJlMTdmNTliMjJhYWNkMzljZDE0MTMuLmIzZmFmNGQ3NzcxOTMyOWM0YjBm
NzJjMjcwMjBiYjdlZmNmN2I5MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
VGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwCkBAIC0zNiw2
ICszNiw3IEBACiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgorI2luY2x1ZGUgPHd0Zi9OZXZl
ckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAogI2lmIFBMQVRG
T1JNKElPUykKQEAgLTg1LDYgKzg2LDYxIEBAIHByaXZhdGU6CiAKIERPTVRpbWVyRmlyZVN0YXRl
KiBET01UaW1lckZpcmVTdGF0ZTo6Y3VycmVudCA9IG51bGxwdHI7CiAKK3N0cnVjdCBOZXN0ZWRU
aW1lcnNNYXAgeworICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIERPTVRpbWVyKj46OmNvbnN0X2l0
ZXJhdG9yIGNvbnN0X2l0ZXJhdG9yOworCisgICAgc3RhdGljIE5lc3RlZFRpbWVyc01hcCogaW5z
dGFuY2VGb3JDb250ZXh0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCisgICAgewor
ICAgICAgICAvLyBGb3Igd29ya2VyIHRocmVhZHMsIHdlIGRvbid0IHVzZSBOZXN0ZWRUaW1lcnNN
YXAgYXMgZG9pbmcgc28gd291bGQgbm90CisgICAgICAgIC8vIGJlIHRocmVhZCBzYWZlLgorICAg
ICAgICBpZiAoY29udGV4dC0+aXNEb2N1bWVudCgpKQorICAgICAgICAgICAgcmV0dXJuICZpbnN0
YW5jZSgpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKKyAgICB2b2lkIHN0YXJ0
VHJhY2tpbmcoKQorICAgIHsKKyAgICAgICAgLy8gTWFrZSBzdXJlIHdlIHN0YXJ0IHdpdGggYW4g
ZW1wdHkgSGFzaE1hcC4gSW4gdGhlb3J5LCBpdCBpcyBwb3NzaWJsZSB0aGUgSGFzaE1hcCBpcyBu
b3QKKyAgICAgICAgLy8gZW1wdHkgaWYgYSB0aW1lciBmaXJlcyBkdXJpbmcgdGhlIGV4ZWN1dGlv
biBvZiBhbm90aGVyIHRpbWVyIChtYXkgaGFwcGVuIHdpdGggdGhlCisgICAgICAgIC8vIGluLXBy
b2Nlc3MgV2ViIEluc3BlY3RvcikuCisgICAgICAgIG5lc3RlZFRpbWVycy5jbGVhcigpOworICAg
ICAgICBpc1RyYWNraW5nTmVzdGVkVGltZXJzID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIHN0
b3BUcmFja2luZygpCisgICAgeworICAgICAgICBpc1RyYWNraW5nTmVzdGVkVGltZXJzID0gZmFs
c2U7CisgICAgICAgIG5lc3RlZFRpbWVycy5jbGVhcigpOworICAgIH0KKworICAgIHZvaWQgYWRk
KGludCB0aW1lb3V0SWQsIERPTVRpbWVyKiB0aW1lcikKKyAgICB7CisgICAgICAgIGlmIChpc1Ry
YWNraW5nTmVzdGVkVGltZXJzKQorICAgICAgICAgICAgbmVzdGVkVGltZXJzLmFkZCh0aW1lb3V0
SWQsIHRpbWVyKTsKKyAgICB9CisKKyAgICB2b2lkIHJlbW92ZShpbnQgdGltZW91dElkKQorICAg
IHsKKyAgICAgICAgaWYgKGlzVHJhY2tpbmdOZXN0ZWRUaW1lcnMpCisgICAgICAgICAgICBuZXN0
ZWRUaW1lcnMucmVtb3ZlKHRpbWVvdXRJZCk7CisgICAgfQorCisgICAgY29uc3RfaXRlcmF0b3Ig
YmVnaW4oKSBjb25zdCB7IHJldHVybiBuZXN0ZWRUaW1lcnMuYmVnaW4oKTsgfQorICAgIGNvbnN0
X2l0ZXJhdG9yIGVuZCgpIGNvbnN0IHsgcmV0dXJuIG5lc3RlZFRpbWVycy5lbmQoKTsgfQorCitw
cml2YXRlOgorICAgIHN0YXRpYyBOZXN0ZWRUaW1lcnNNYXAmIGluc3RhbmNlKCkKKyAgICB7Cisg
ICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxOZXN0ZWRUaW1lcnNNYXA+IG1hcDsKKyAgICAg
ICAgcmV0dXJuIG1hcDsKKyAgICB9CisKKyAgICBzdGF0aWMgYm9vbCBpc1RyYWNraW5nTmVzdGVk
VGltZXJzOworICAgIEhhc2hNYXA8aW50IC8qIHRpbWVvdXRJZCAqLywgRE9NVGltZXIqPiBuZXN0
ZWRUaW1lcnM7Cit9OworCitib29sIE5lc3RlZFRpbWVyc01hcDo6aXNUcmFja2luZ05lc3RlZFRp
bWVycyA9IGZhbHNlOworCiBzdGF0aWMgaW5saW5lIGJvb2wgc2hvdWxkRm9yd2FyZFVzZXJHZXN0
dXJlKGludCBpbnRlcnZhbCwgaW50IG5lc3RpbmdMZXZlbCkKIHsKICAgICByZXR1cm4gVXNlckdl
c3R1cmVJbmRpY2F0b3I6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpCkBAIC0xMzQsNiArMTkwLDEw
IEBAIGludCBET01UaW1lcjo6aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkCiAgICAgdGltZXItPnN1c3BlbmRJZk5lZWRlZCgp
OwogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW5zdGFsbFRpbWVyKGNvbnRleHQs
IHRpbWVyLT5tX3RpbWVvdXRJZCwgdGltZW91dCwgc2luZ2xlU2hvdCk7CiAKKyAgICAvLyBLZWVw
IHRyYWNrIG9mIG5lc3RlZCB0aW1lciBpbnN0YWxscy4KKyAgICBpZiAoTmVzdGVkVGltZXJzTWFw
KiBuZXN0ZWRUaW1lcnMgPSBOZXN0ZWRUaW1lcnNNYXA6Omluc3RhbmNlRm9yQ29udGV4dChjb250
ZXh0KSkKKyAgICAgICAgbmVzdGVkVGltZXJzLT5hZGQodGltZXItPm1fdGltZW91dElkLCB0aW1l
cik7CisKICAgICByZXR1cm4gdGltZXItPm1fdGltZW91dElkOwogfQogCkBAIC0xNDUsNiArMjA1
LDkgQEAgdm9pZCBET01UaW1lcjo6cmVtb3ZlQnlJZChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0LCBpbnQgdGltZW91dElkKQogICAgIGlmICh0aW1lb3V0SWQgPD0gMCkKICAgICAgICAg
cmV0dXJuOwogCisgICAgaWYgKE5lc3RlZFRpbWVyc01hcCogbmVzdGVkVGltZXJzID0gTmVzdGVk
VGltZXJzTWFwOjppbnN0YW5jZUZvckNvbnRleHQoY29udGV4dCkpCisgICAgICAgIG5lc3RlZFRp
bWVycy0+cmVtb3ZlKHRpbWVvdXRJZCk7CisKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmRpZFJlbW92ZVRpbWVyKGNvbnRleHQsIHRpbWVvdXRJZCk7CiAgICAgY29udGV4dC0+cmVtb3Zl
VGltZW91dCh0aW1lb3V0SWQpOwogfQpAQCAtMjM4LDYgKzMwMSwxMSBAQCB2b2lkIERPTVRpbWVy
OjpmaXJlZCgpCiAgICAgfQogI2VuZGlmCiAKKyAgICAvLyBLZWVwIHRyYWNrIG5lc3RlZCB0aW1l
ciBpbnN0YWxscy4KKyAgICBOZXN0ZWRUaW1lcnNNYXAqIG5lc3RlZFRpbWVycyA9IE5lc3RlZFRp
bWVyc01hcDo6aW5zdGFuY2VGb3JDb250ZXh0KGNvbnRleHQpOworICAgIGlmIChuZXN0ZWRUaW1l
cnMpCisgICAgICAgIG5lc3RlZFRpbWVycy0+c3RhcnRUcmFja2luZygpOworCiAgICAgbV9hY3Rp
b24tPmV4ZWN1dGUoY29udGV4dCk7CiAKICNpZiBQTEFURk9STShJT1MpCkBAIC0yNTIsNiArMzIw
LDE2IEBAIHZvaWQgRE9NVGltZXI6OmZpcmVkKCkKIAogICAgIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkRmlyZVRpbWVyKGNvb2tpZSk7CiAKKyAgICAvLyBDaGVjayBpZiB3ZSBzaG91bGQg
dGhyb3R0bGUgbmVzdGVkIHNpbmdsZS1zaG90IHRpbWVycy4KKyAgICBpZiAobmVzdGVkVGltZXJz
KSB7CisgICAgICAgIGZvciAoYXV0byYga2V5VmFsdWUgOiAqbmVzdGVkVGltZXJzKSB7CisgICAg
ICAgICAgICBhdXRvKiB0aW1lciA9IGtleVZhbHVlLnZhbHVlOworICAgICAgICAgICAgaWYgKHRp
bWVyLT5pc0FjdGl2ZSgpICYmICF0aW1lci0+cmVwZWF0SW50ZXJ2YWwoKSkKKyAgICAgICAgICAg
ICAgICB0aW1lci0+dXBkYXRlVGhyb3R0bGluZ1N0YXRlSWZOZWNlc3NhcnkoZmlyZVN0YXRlKTsK
KyAgICAgICAgfQorICAgICAgICBuZXN0ZWRUaW1lcnMtPnN0b3BUcmFja2luZygpOworICAgIH0K
KwogICAgIGNvbnRleHQtPnNldFRpbWVyTmVzdGluZ0xldmVsKDApOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>