<?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>83156</bug_id>
          
          <creation_ts>2012-04-04 06:28:30 -0700</creation_ts>
          <short_desc>[WIN] Simplify implementation of currentTime()</short_desc>
          <delta_ts>2012-07-23 01:00:04 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows 7</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="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>aestes</cc>
    
    <cc>aroben</cc>
    
    <cc>bfulgham</cc>
    
    <cc>darin</cc>
    
    <cc>jberlin</cc>
    
    <cc>jhoneycutt</cc>
    
    <cc>sfalken</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>595484</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-04-04 06:28:30 -0700</bug_when>
    <thetext>[WIN] Simplify implementation of currentTime()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595502</commentid>
    <comment_count>1</comment_count>
      <attachid>135583</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-04-04 06:51:22 -0700</bug_when>
    <thetext>Created attachment 135583
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598055</commentid>
    <comment_count>2</comment_count>
      <attachid>136155</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-04-08 13:02:24 -0700</bug_when>
    <thetext>Created attachment 136155
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598340</commentid>
    <comment_count>3</comment_count>
      <attachid>136155</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2012-04-09 09:36:48 -0700</bug_when>
    <thetext>Comment on attachment 136155
Patch

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

&gt; Source/WTF/wtf/CurrentTime.cpp:81
&gt; +    union {
&gt; +        FILETIME fileTime;
&gt; +        ULONGLONG quadPart;
&gt; +    } u;

Is a union safe? MSDN says, &quot;Do not cast a pointer to a FILETIME structure to either a ULARGE_INTEGER* or __int64* value because it can cause alignment faults on 64-bit Windows.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598403</commentid>
    <comment_count>4</comment_count>
      <attachid>136262</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-04-09 10:31:01 -0700</bug_when>
    <thetext>Created attachment 136262
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601438</commentid>
    <comment_count>5</comment_count>
      <attachid>136262</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2012-04-12 12:24:28 -0700</bug_when>
    <thetext>Comment on attachment 136262
Patch

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

&gt; Source/WTF/wtf/CurrentTime.cpp:86
&gt; +    ULONGLONG dateTime = (static_cast&lt;ULONGLONG&gt;(fileTime.dwHighDateTime) &lt;&lt; 32) | fileTime.dwLowDateTime;

I think it would be nicer to copy fileTime into a ULARGE_INTEGER (without using a union) and then use its QuadPart member. That&apos;s what MSDN recommends. Sorry for not being more explicit before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637656</commentid>
    <comment_count>6</comment_count>
      <attachid>144916</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-05-30 13:49:05 -0700</bug_when>
    <thetext>Created attachment 144916
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646483</commentid>
    <comment_count>7</comment_count>
      <attachid>144916</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2012-06-11 17:47:01 -0700</bug_when>
    <thetext>Comment on attachment 144916
Patch

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

I think this change looks great.  Please consider retaining the comments I mention in the detailed notes when you commit the change.

&gt; Source/WTF/wtf/CurrentTime.cpp:-222
&gt; -

I don&apos;t like losing the following comments, which I found very illuminating about this routine.

Could you please copy these into your revised implementation so that non-Windows people are aware that Windows ticks are in 100s of nanoseconds, etc.?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651034</commentid>
    <comment_count>8</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-06-17 14:06:33 -0700</bug_when>
    <thetext>Committed r120552: &lt;http://trac.webkit.org/changeset/120552&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654139</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-06-20 18:58:12 -0700</bug_when>
    <thetext>This rewrite of the function was wrong. See bug 89433 for the problem and fix. But also, what was so wrong with the old version?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654203</commentid>
    <comment_count>10</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2012-06-20 20:55:52 -0700</bug_when>
    <thetext>Although there was a mistake in the units returned (milliseconds rather than seconds), I think the intent of the change was good because it reduced the code differences between the standard Windows and WinCE implementations.

There doesn&apos;t seem to be any meaningful difference in accurracy or precision between _ftime and GetSystemTimeAsFileTime, but since the routine is peppered with Windows-specific magic numbers related to &quot;ticks per epoch&quot; and so forth, it probably makes sense to stick with the Windows API calls so that the whole things hangs together.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135583</attachid>
            <date>2012-04-04 06:51:22 -0700</date>
            <delta_ts>2012-04-08 13:02:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83156-20120404155134.patch</filename>
            <type>text/plain</type>
            <size>4141</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMTgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGZkNDhmNzViMzRmYTQxNDIxN2RjNTBm
MDM0ZGYxOTE1ODYyNDQ0MWQuLmUxMTJlOGI2YjFhNDUxYmI4MDhjNjdmOTkyMTdjZTY2NjBkZjU4
Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDQtMDQgIFBhdHJpY2sgR2Fuc3RlcmVyICA8
cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW1dJTl0gU2ltcGxpZnkgaW1wbGVtZW50YXRp
b24gb2YgY3VycmVudFRpbWUoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODMxNTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBVc2UgR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUoKSBpbiBmYXZvdXIgb2YgZnRp
bWUoKS4KKyAgICAgICAgVGhpcyBhdm9pZHMgYW4gdW5uZWVkZWQgY2FsbCB0byB0aGUgTVMgQ1JU
IGFuZAorICAgICAgICBicmluZ3MgdGhlIFdpbi9XaW5DRSBjb2RlIGNsb3NlciB0b2dldGhlci4K
KworICAgICAgICAqIHd0Zi9DdXJyZW50VGltZS5jcHA6CisgICAgICAgIChXVEYpOgorICAgICAg
ICAoV1RGOjpsb3dSZXNVVENUaW1lKToKKyAgICAgICAgKFdURjo6Y3VycmVudFRpbWUpOgorCiAy
MDEyLTAzLTMwICBEYXZpZCBCYXJyICA8ZGF2aWRiYXJyQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBTcGxpdCB1cCB0b3AtbGV2ZWwgLmdpdGlnbm9yZSBhbmQgLmdpdGF0dHJpYnV0ZXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL0N1cnJlbnRUaW1lLmNwcCBiL1NvdXJjZS9XVEYvd3RmL0N1
cnJlbnRUaW1lLmNwcAppbmRleCAxZWJkMDg0ZDhhOTVjMWJjNzI4ZTBlZTY3YjdjODYyZjQ4MDcx
ZjBhLi43M2NmYzc4ZTA1M2M2OTNjYzBiODFjYTRkOWQzN2Q0Mzc0NGJkMjU0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9DdXJyZW50VGltZS5jcHAKKysrIGIvU291cmNlL1dURi93dGYvQ3Vy
cmVudFRpbWUuY3BwCkBAIC00NywxNSArNDcsNiBAQAogI2luY2x1ZGUgPHN0ZGludC5oPgogI2lu
Y2x1ZGUgPHRpbWUuaD4KIAotI2lmIFVTRShRVUVSWV9QRVJGT1JNQU5DRV9DT1VOVEVSKQotI2lm
IE9TKFdJTkNFKQotZXh0ZXJuICJDIiB0aW1lX3QgbWt0aW1lKHN0cnVjdCB0bSAqdCk7Ci0jZWxz
ZQotI2luY2x1ZGUgPHN5cy90aW1lYi5oPgotI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotI2VuZGlm
Ci0jZW5kaWYKLQogI2VsaWYgUExBVEZPUk0oV1gpCiAjaW5jbHVkZSA8d3gvZGF0ZXRpbWUuaD4K
ICNlbGlmIFBMQVRGT1JNKEVGTCkKQEAgLTc4LDEwICs2OSwyOCBAQCBleHRlcm4gIkMiIHRpbWVf
dCBta3RpbWUoc3RydWN0IHRtICp0KTsKIAogbmFtZXNwYWNlIFdURiB7CiAKLWNvbnN0IGRvdWJs
ZSBtc1BlclNlY29uZCA9IDEwMDAuMDsKLQogI2lmIE9TKFdJTkRPV1MpCiAKKy8vIE51bWJlciBv
ZiAxMDAgbmFub3NlY29uZCBiZXR3ZWVuIEphbnVhcnkgMSwgMTYwMSBhbmQgSmFudWFyeSAxLCAx
OTcwLgorY29uc3QgVUxPTkdMT05HIGVwb2NoQmlhcyA9IDExNjQ0NDczNjAwMDAwMDAwMFVMTDsK
K2NvbnN0IGRvdWJsZSBuc1BlclNlY29uZCA9IDEwMDAwMDAwMDAuMDsKKworc3RhdGljIGRvdWJs
ZSBsb3dSZXNVVENUaW1lKCkKK3sKKyAgICB1bmlvbiB7CisgICAgICAgIEZJTEVUSU1FIGZpbGVU
aW1lOworICAgICAgICBVTE9OR0xPTkcgcXVhZFBhcnQ7CisgICAgfSB1OworCisjaWYgT1MoV0lO
Q0UpCisgICAgR2V0Q3VycmVudEZUKCZ1LmZpbGVUaW1lKTsKKyNlbHNlCisgICAgR2V0U3lzdGVt
VGltZUFzRmlsZVRpbWUoJnUuZmlsZVRpbWUpOworI2VuZGlmCisKKyAgICByZXR1cm4gKHUucXVh
ZFBhcnQgLSBlcG9jaEJpYXMpIC8gKDEwMCAqIG5zUGVyU2Vjb25kKTsKK30KKwogI2lmIFVTRShR
VUVSWV9QRVJGT1JNQU5DRV9DT1VOVEVSKQogCiBzdGF0aWMgTEFSR0VfSU5URUdFUiBxcGNGcmVx
dWVuY3k7CkBAIC0xMzAsMjggKzEzOSw2IEBAIHN0YXRpYyBkb3VibGUgaGlnaFJlc1VwVGltZSgp
CiAgICAgcmV0dXJuICgxMDAwLjAgKiBxcGMuUXVhZFBhcnQpIC8gc3RhdGljX2Nhc3Q8ZG91Ymxl
PihxcGNGcmVxdWVuY3kuUXVhZFBhcnQpOwogfQogCi1zdGF0aWMgZG91YmxlIGxvd1Jlc1VUQ1Rp
bWUoKQotewotI2lmIE9TKFdJTkNFKQotICAgIFNZU1RFTVRJTUUgc3lzdGVtVGltZTsKLSAgICBH
ZXRTeXN0ZW1UaW1lKCZzeXN0ZW1UaW1lKTsKLSAgICBzdHJ1Y3QgdG0gdG10aW1lOwotICAgIHRt
dGltZS50bV95ZWFyID0gc3lzdGVtVGltZS53WWVhciAtIDE5MDA7Ci0gICAgdG10aW1lLnRtX21v
biA9IHN5c3RlbVRpbWUud01vbnRoIC0gMTsKLSAgICB0bXRpbWUudG1fbWRheSA9IHN5c3RlbVRp
bWUud0RheTsKLSAgICB0bXRpbWUudG1fd2RheSA9IHN5c3RlbVRpbWUud0RheU9mV2VlazsKLSAg
ICB0bXRpbWUudG1faG91ciA9IHN5c3RlbVRpbWUud0hvdXI7Ci0gICAgdG10aW1lLnRtX21pbiA9
IHN5c3RlbVRpbWUud01pbnV0ZTsKLSAgICB0bXRpbWUudG1fc2VjID0gc3lzdGVtVGltZS53U2Vj
b25kOwotICAgIHRpbWVfdCB0aW1ldCA9IG1rdGltZSgmdG10aW1lKTsKLSAgICByZXR1cm4gdGlt
ZXQgKiBtc1BlclNlY29uZCArIHN5c3RlbVRpbWUud01pbGxpc2Vjb25kczsKLSNlbHNlCi0gICAg
c3RydWN0IF90aW1lYiB0aW1lYnVmZmVyOwotICAgIF9mdGltZSgmdGltZWJ1ZmZlcik7Ci0gICAg
cmV0dXJuIHRpbWVidWZmZXIudGltZSAqIG1zUGVyU2Vjb25kICsgdGltZWJ1ZmZlci5taWxsaXRt
OwotI2VuZGlmCi19Ci0KIHN0YXRpYyBib29sIHFwY0F2YWlsYWJsZSgpCiB7CiAgICAgc3RhdGlj
IGJvb2wgYXZhaWxhYmxlOwpAQCAtMjEwLDM2ICsxOTcsMTMgQEAgZG91YmxlIGN1cnJlbnRUaW1l
KCkKIAogI2Vsc2UKIAotc3RhdGljIGRvdWJsZSBjdXJyZW50U3lzdGVtVGltZSgpCi17Ci0gICAg
RklMRVRJTUUgZnQ7Ci0gICAgR2V0Q3VycmVudEZUKCZmdCk7Ci0KLSAgICAvLyBBcyBwZXIgV2lu
ZG93cyBkb2N1bWVudGF0aW9uIGZvciBGSUxFVElNRSwgY29weSB0aGUgcmVzdWx0aW5nIEZJTEVU
SU1FIHN0cnVjdHVyZSB0byBhCi0gICAgLy8gVUxBUkdFX0lOVEVHRVIgc3RydWN0dXJlIHVzaW5n
IG1lbWNweSAodXNpbmcgbWVtY3B5IGluc3RlYWQgb2YgZGlyZWN0IGFzc2lnbm1lbnQgY2FuCi0g
ICAgLy8gcHJldmVudCBhbGlnbm1lbnQgZmF1bHRzIG9uIDY0LWJpdCBXaW5kb3dzKS4KLQotICAg
IFVMQVJHRV9JTlRFR0VSIHQ7Ci0gICAgbWVtY3B5KCZ0LCAmZnQsIHNpemVvZih0KSk7Ci0KLSAg
ICAvLyBXaW5kb3dzIGZpbGUgdGltZXMgYXJlIGluIDEwMHMgb2YgbmFub3NlY29uZHMuCi0gICAg
Ly8gVG8gY29udmVydCB0byBzZWNvbmRzLCB3ZSBoYXZlIHRvIGRpdmlkZSBieSAxMCwwMDAsMDAw
LCB3aGljaCBpcyBtb3JlIHF1aWNrbHkKLSAgICAvLyBkb25lIGJ5IG11bHRpcGx5aW5nIGJ5IDAu
MDAwMDAwMS4KLQotICAgIC8vIEJldHdlZW4gSmFudWFyeSAxLCAxNjAxIGFuZCBKYW51YXJ5IDEs
IDE5NzAsIHRoZXJlIHdlcmUgMzY5IGNvbXBsZXRlIHllYXJzLAotICAgIC8vIG9mIHdoaWNoIDg5
IHdlcmUgbGVhcCB5ZWFycyAoMTcwMCwgMTgwMCwgYW5kIDE5MDAgd2VyZSBub3QgbGVhcCB5ZWFy
cykuCi0gICAgLy8gVGhhdCBpcyBhIHRvdGFsIG9mIDEzNDc3NCBkYXlzLCB3aGljaCBpcyAxMTY0
NDQ3MzYwMCBzZWNvbmRzLgotCi0gICAgcmV0dXJuIHQuUXVhZFBhcnQgKiAwLjAwMDAwMDEgLSAx
MTY0NDQ3MzYwMC4wOwotfQotCiBkb3VibGUgY3VycmVudFRpbWUoKQogewogICAgIHN0YXRpYyBi
b29sIGluaXQgPSBmYWxzZTsKICAgICBzdGF0aWMgZG91YmxlIGxhc3RUaW1lOwogICAgIHN0YXRp
YyBEV09SRCBsYXN0VGlja0NvdW50OwogICAgIGlmICghaW5pdCkgewotICAgICAgICBsYXN0VGlt
ZSA9IGN1cnJlbnRTeXN0ZW1UaW1lKCk7CisgICAgICAgIGxhc3RUaW1lID0gbG93UmVzVVRDVGlt
ZSgpOwogICAgICAgICBsYXN0VGlja0NvdW50ID0gR2V0VGlja0NvdW50KCk7CiAgICAgICAgIGlu
aXQgPSB0cnVlOwogICAgICAgICByZXR1cm4gbGFzdFRpbWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136155</attachid>
            <date>2012-04-08 13:02:24 -0700</date>
            <delta_ts>2012-04-09 10:30:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83156-20120408220221.patch</filename>
            <type>text/plain</type>
            <size>4176</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGE4NDFkNGY5YjQ3ZTdiZGUyMGJhMTNk
NTJmNzU3Y2YzYzU3MjcwYzUuLjJhZWE1OGY3MTE1OWEyMDA3MzcwYzBhYTAzODc4NjlmNmZlYzI0
NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDQtMDQgIFBhdHJpY2sgR2Fuc3RlcmVyICA8
cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW1dJTl0gU2ltcGxpZnkgaW1wbGVtZW50YXRp
b24gb2YgY3VycmVudFRpbWUoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODMxNTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBVc2UgR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUoKSBpbnN0ZWFkIG9mIGZ0aW1l
KCkuCisgICAgICAgIFRoaXMgYXZvaWRzIGFuIHVubmVlZGVkIGNhbGwgdG8gdGhlIE1TIENSVCBh
bmQKKyAgICAgICAgYnJpbmdzIHRoZSBXaW4vV2luQ0UgY29kZSBjbG9zZXIgdG9nZXRoZXIuCisK
KyAgICAgICAgKiB3dGYvQ3VycmVudFRpbWUuY3BwOgorICAgICAgICAoV1RGOjpsb3dSZXNVVENU
aW1lKToKKyAgICAgICAgKFdURjo6Y3VycmVudFRpbWUpOgorCiAyMDEyLTA0LTA2ICBCZW5qYW1p
biBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEdldCByaWQgb2YgdGhl
IHVzZWxlc3MgZmxhZyBQUkVFTVBUX0dFT0xPQ0FUSU9OX1BFUk1JU1NJT04KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL0N1cnJlbnRUaW1lLmNwcCBiL1NvdXJjZS9XVEYvd3RmL0N1cnJlbnRU
aW1lLmNwcAppbmRleCA4NzRmNTg2MTBiOWFiYTJlOTkxNjU5YWMwNmQ2YzE0YmFjYjEyNzE1Li4z
YmZmYzAxZmMwMGM4M2NiMDkyZmEzNjZlMWU3MGZmNGM1ZmM1ODA2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9DdXJyZW50VGltZS5jcHAKKysrIGIvU291cmNlL1dURi93dGYvQ3VycmVudFRp
bWUuY3BwCkBAIC00NywxNSArNDcsNiBAQAogI2luY2x1ZGUgPHN0ZGludC5oPgogI2luY2x1ZGUg
PHRpbWUuaD4KIAotI2lmIFVTRShRVUVSWV9QRVJGT1JNQU5DRV9DT1VOVEVSKQotI2lmIE9TKFdJ
TkNFKQotZXh0ZXJuICJDIiB0aW1lX3QgbWt0aW1lKHN0cnVjdCB0bSAqdCk7Ci0jZWxzZQotI2lu
Y2x1ZGUgPHN5cy90aW1lYi5oPgotI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotI2VuZGlmCi0jZW5k
aWYKLQogI2VsaWYgUExBVEZPUk0oV1gpCiAjaW5jbHVkZSA8d3gvZGF0ZXRpbWUuaD4KICNlbGlm
IFBMQVRGT1JNKEVGTCkKQEAgLTc0LDEyICs2NSwzMCBAQCBleHRlcm4gIkMiIHRpbWVfdCBta3Rp
bWUoc3RydWN0IHRtICp0KTsKIAogbmFtZXNwYWNlIFdURiB7CiAKLWNvbnN0IGRvdWJsZSBtc1Bl
clNlY29uZCA9IDEwMDAuMDsKLQogI2lmICFQTEFURk9STShDSFJPTUlVTSkKIAogI2lmIE9TKFdJ
TkRPV1MpCiAKKy8vIE51bWJlciBvZiAxMDAgbmFub3NlY29uZCBiZXR3ZWVuIEphbnVhcnkgMSwg
MTYwMSBhbmQgSmFudWFyeSAxLCAxOTcwLgorc3RhdGljIGNvbnN0IFVMT05HTE9ORyBlcG9jaEJp
YXMgPSAxMTY0NDQ3MzYwMDAwMDAwMDBVTEw7CitzdGF0aWMgY29uc3QgZG91YmxlIG5zUGVyU2Vj
b25kID0gMTAwMDAwMDAwMC4wOworCitzdGF0aWMgZG91YmxlIGxvd1Jlc1VUQ1RpbWUoKQorewor
ICAgIHVuaW9uIHsKKyAgICAgICAgRklMRVRJTUUgZmlsZVRpbWU7CisgICAgICAgIFVMT05HTE9O
RyBxdWFkUGFydDsKKyAgICB9IHU7CisKKyNpZiBPUyhXSU5DRSkKKyAgICBHZXRDdXJyZW50RlQo
JnUuZmlsZVRpbWUpOworI2Vsc2UKKyAgICBHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZSgmdS5maWxl
VGltZSk7CisjZW5kaWYKKworICAgIHJldHVybiAodS5xdWFkUGFydCAtIGVwb2NoQmlhcykgLyAo
MTAwICogbnNQZXJTZWNvbmQpOworfQorCiAjaWYgVVNFKFFVRVJZX1BFUkZPUk1BTkNFX0NPVU5U
RVIpCiAKIHN0YXRpYyBMQVJHRV9JTlRFR0VSIHFwY0ZyZXF1ZW5jeTsKQEAgLTEyOCwyOCArMTM3
LDYgQEAgc3RhdGljIGRvdWJsZSBoaWdoUmVzVXBUaW1lKCkKICAgICByZXR1cm4gKDEwMDAuMCAq
IHFwYy5RdWFkUGFydCkgLyBzdGF0aWNfY2FzdDxkb3VibGU+KHFwY0ZyZXF1ZW5jeS5RdWFkUGFy
dCk7CiB9CiAKLXN0YXRpYyBkb3VibGUgbG93UmVzVVRDVGltZSgpCi17Ci0jaWYgT1MoV0lOQ0Up
Ci0gICAgU1lTVEVNVElNRSBzeXN0ZW1UaW1lOwotICAgIEdldFN5c3RlbVRpbWUoJnN5c3RlbVRp
bWUpOwotICAgIHN0cnVjdCB0bSB0bXRpbWU7Ci0gICAgdG10aW1lLnRtX3llYXIgPSBzeXN0ZW1U
aW1lLndZZWFyIC0gMTkwMDsKLSAgICB0bXRpbWUudG1fbW9uID0gc3lzdGVtVGltZS53TW9udGgg
LSAxOwotICAgIHRtdGltZS50bV9tZGF5ID0gc3lzdGVtVGltZS53RGF5OwotICAgIHRtdGltZS50
bV93ZGF5ID0gc3lzdGVtVGltZS53RGF5T2ZXZWVrOwotICAgIHRtdGltZS50bV9ob3VyID0gc3lz
dGVtVGltZS53SG91cjsKLSAgICB0bXRpbWUudG1fbWluID0gc3lzdGVtVGltZS53TWludXRlOwot
ICAgIHRtdGltZS50bV9zZWMgPSBzeXN0ZW1UaW1lLndTZWNvbmQ7Ci0gICAgdGltZV90IHRpbWV0
ID0gbWt0aW1lKCZ0bXRpbWUpOwotICAgIHJldHVybiB0aW1ldCAqIG1zUGVyU2Vjb25kICsgc3lz
dGVtVGltZS53TWlsbGlzZWNvbmRzOwotI2Vsc2UKLSAgICBzdHJ1Y3QgX3RpbWViIHRpbWVidWZm
ZXI7Ci0gICAgX2Z0aW1lKCZ0aW1lYnVmZmVyKTsKLSAgICByZXR1cm4gdGltZWJ1ZmZlci50aW1l
ICogbXNQZXJTZWNvbmQgKyB0aW1lYnVmZmVyLm1pbGxpdG07Ci0jZW5kaWYKLX0KLQogc3RhdGlj
IGJvb2wgcXBjQXZhaWxhYmxlKCkKIHsKICAgICBzdGF0aWMgYm9vbCBhdmFpbGFibGU7CkBAIC0y
MDgsMzYgKzE5NSwxMyBAQCBkb3VibGUgY3VycmVudFRpbWUoKQogCiAjZWxzZQogCi1zdGF0aWMg
ZG91YmxlIGN1cnJlbnRTeXN0ZW1UaW1lKCkKLXsKLSAgICBGSUxFVElNRSBmdDsKLSAgICBHZXRD
dXJyZW50RlQoJmZ0KTsKLQotICAgIC8vIEFzIHBlciBXaW5kb3dzIGRvY3VtZW50YXRpb24gZm9y
IEZJTEVUSU1FLCBjb3B5IHRoZSByZXN1bHRpbmcgRklMRVRJTUUgc3RydWN0dXJlIHRvIGEKLSAg
ICAvLyBVTEFSR0VfSU5URUdFUiBzdHJ1Y3R1cmUgdXNpbmcgbWVtY3B5ICh1c2luZyBtZW1jcHkg
aW5zdGVhZCBvZiBkaXJlY3QgYXNzaWdubWVudCBjYW4KLSAgICAvLyBwcmV2ZW50IGFsaWdubWVu
dCBmYXVsdHMgb24gNjQtYml0IFdpbmRvd3MpLgotCi0gICAgVUxBUkdFX0lOVEVHRVIgdDsKLSAg
ICBtZW1jcHkoJnQsICZmdCwgc2l6ZW9mKHQpKTsKLQotICAgIC8vIFdpbmRvd3MgZmlsZSB0aW1l
cyBhcmUgaW4gMTAwcyBvZiBuYW5vc2Vjb25kcy4KLSAgICAvLyBUbyBjb252ZXJ0IHRvIHNlY29u
ZHMsIHdlIGhhdmUgdG8gZGl2aWRlIGJ5IDEwLDAwMCwwMDAsIHdoaWNoIGlzIG1vcmUgcXVpY2ts
eQotICAgIC8vIGRvbmUgYnkgbXVsdGlwbHlpbmcgYnkgMC4wMDAwMDAxLgotCi0gICAgLy8gQmV0
d2VlbiBKYW51YXJ5IDEsIDE2MDEgYW5kIEphbnVhcnkgMSwgMTk3MCwgdGhlcmUgd2VyZSAzNjkg
Y29tcGxldGUgeWVhcnMsCi0gICAgLy8gb2Ygd2hpY2ggODkgd2VyZSBsZWFwIHllYXJzICgxNzAw
LCAxODAwLCBhbmQgMTkwMCB3ZXJlIG5vdCBsZWFwIHllYXJzKS4KLSAgICAvLyBUaGF0IGlzIGEg
dG90YWwgb2YgMTM0Nzc0IGRheXMsIHdoaWNoIGlzIDExNjQ0NDczNjAwIHNlY29uZHMuCi0KLSAg
ICByZXR1cm4gdC5RdWFkUGFydCAqIDAuMDAwMDAwMSAtIDExNjQ0NDczNjAwLjA7Ci19Ci0KIGRv
dWJsZSBjdXJyZW50VGltZSgpCiB7CiAgICAgc3RhdGljIGJvb2wgaW5pdCA9IGZhbHNlOwogICAg
IHN0YXRpYyBkb3VibGUgbGFzdFRpbWU7CiAgICAgc3RhdGljIERXT1JEIGxhc3RUaWNrQ291bnQ7
CiAgICAgaWYgKCFpbml0KSB7Ci0gICAgICAgIGxhc3RUaW1lID0gY3VycmVudFN5c3RlbVRpbWUo
KTsKKyAgICAgICAgbGFzdFRpbWUgPSBsb3dSZXNVVENUaW1lKCk7CiAgICAgICAgIGxhc3RUaWNr
Q291bnQgPSBHZXRUaWNrQ291bnQoKTsKICAgICAgICAgaW5pdCA9IHRydWU7CiAgICAgICAgIHJl
dHVybiBsYXN0VGltZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136262</attachid>
            <date>2012-04-09 10:31:01 -0700</date>
            <delta_ts>2012-05-30 13:49:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83156-20120409193058.patch</filename>
            <type>text/plain</type>
            <size>4251</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGI1YjJhNDM4M2JkNGU3ODkzOWJmOTI4
MGVjZmNiYzYxY2FhZmMxNTEuLjg3NWYxMGRkNDM5NDUzNGViZWU2NGQ2MWQ3MTI2NDY1ZTgxNWI0
ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjAgQEAKIDIwMTItMDQtMDkgIFBhdHJpY2sgR2Fuc3RlcmVyICA8
cGFyb2dhQHdlYmtpdC5vcmc+CiAKKyAgICAgICAgW1dJTl0gU2ltcGxpZnkgaW1wbGVtZW50YXRp
b24gb2YgY3VycmVudFRpbWUoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODMxNTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBVc2UgR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUoKSBpbnN0ZWFkIG9mIGZ0aW1l
KCkuCisgICAgICAgIFRoaXMgYXZvaWRzIGFuIHVubmVlZGVkIGNhbGwgdG8gdGhlIE1TIENSVCBh
bmQKKyAgICAgICAgYnJpbmdzIHRoZSBXaW4vV2luQ0UgY29kZSBjbG9zZXIgdG9nZXRoZXIuCisK
KyAgICAgICAgKiB3dGYvQ3VycmVudFRpbWUuY3BwOgorICAgICAgICAoV1RGOjpsb3dSZXNVVENU
aW1lKToKKyAgICAgICAgKFdURjo6Y3VycmVudFRpbWUpOgorCisyMDEyLTA0LTA5ICBQYXRyaWNr
IEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgorCiAgICAgICAgIFtDTWFrZV0gQnVpbGQg
Zml4IGZvciBVU0VfU1lTVEVNX01BTExPQyBhZnRlciByMTEzNTcwLgogCiAgICAgICAgICogd3Rm
L0NNYWtlTGlzdHMudHh0OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ3VycmVudFRpbWUu
Y3BwIGIvU291cmNlL1dURi93dGYvQ3VycmVudFRpbWUuY3BwCmluZGV4IDg3NGY1ODYxMGI5YWJh
MmU5OTE2NTlhYzA2ZDZjMTRiYWNiMTI3MTUuLmEyZWM0NDgyZTVkN2FlMTMwOGY2YWQ2NDFhZmJl
NjFiYTIyMDVhNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0N1cnJlbnRUaW1lLmNwcAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9DdXJyZW50VGltZS5jcHAKQEAgLTQ3LDE1ICs0Nyw2IEBACiAj
aW5jbHVkZSA8c3RkaW50Lmg+CiAjaW5jbHVkZSA8dGltZS5oPgogCi0jaWYgVVNFKFFVRVJZX1BF
UkZPUk1BTkNFX0NPVU5URVIpCi0jaWYgT1MoV0lOQ0UpCi1leHRlcm4gIkMiIHRpbWVfdCBta3Rp
bWUoc3RydWN0IHRtICp0KTsKLSNlbHNlCi0jaW5jbHVkZSA8c3lzL3RpbWViLmg+Ci0jaW5jbHVk
ZSA8c3lzL3R5cGVzLmg+Ci0jZW5kaWYKLSNlbmRpZgotCiAjZWxpZiBQTEFURk9STShXWCkKICNp
bmNsdWRlIDx3eC9kYXRldGltZS5oPgogI2VsaWYgUExBVEZPUk0oRUZMKQpAQCAtNzQsMTIgKzY1
LDI4IEBAIGV4dGVybiAiQyIgdGltZV90IG1rdGltZShzdHJ1Y3QgdG0gKnQpOwogCiBuYW1lc3Bh
Y2UgV1RGIHsKIAotY29uc3QgZG91YmxlIG1zUGVyU2Vjb25kID0gMTAwMC4wOwotCiAjaWYgIVBM
QVRGT1JNKENIUk9NSVVNKQogCiAjaWYgT1MoV0lORE9XUykKIAorLy8gTnVtYmVyIG9mIDEwMCBu
YW5vc2Vjb25kIGJldHdlZW4gSmFudWFyeSAxLCAxNjAxIGFuZCBKYW51YXJ5IDEsIDE5NzAuCitz
dGF0aWMgY29uc3QgVUxPTkdMT05HIGVwb2NoQmlhcyA9IDExNjQ0NDczNjAwMDAwMDAwMFVMTDsK
K3N0YXRpYyBjb25zdCBkb3VibGUgbnNQZXJTZWNvbmQgPSAxMDAwMDAwMDAwLjA7CisKK3N0YXRp
YyBkb3VibGUgbG93UmVzVVRDVGltZSgpCit7CisgICAgRklMRVRJTUUgZmlsZVRpbWU7CisKKyNp
ZiBPUyhXSU5DRSkKKyAgICBHZXRDdXJyZW50RlQoJmZpbGVUaW1lKTsKKyNlbHNlCisgICAgR2V0
U3lzdGVtVGltZUFzRmlsZVRpbWUoJmZpbGVUaW1lKTsKKyNlbmRpZgorCisgICAgVUxPTkdMT05H
IGRhdGVUaW1lID0gKHN0YXRpY19jYXN0PFVMT05HTE9ORz4oZmlsZVRpbWUuZHdIaWdoRGF0ZVRp
bWUpIDw8IDMyKSB8IGZpbGVUaW1lLmR3TG93RGF0ZVRpbWU7CisgICAgcmV0dXJuIChkYXRlVGlt
ZSAtIGVwb2NoQmlhcykgLyAoMTAwICogbnNQZXJTZWNvbmQpOworfQorCiAjaWYgVVNFKFFVRVJZ
X1BFUkZPUk1BTkNFX0NPVU5URVIpCiAKIHN0YXRpYyBMQVJHRV9JTlRFR0VSIHFwY0ZyZXF1ZW5j
eTsKQEAgLTEyOCwyOCArMTM1LDYgQEAgc3RhdGljIGRvdWJsZSBoaWdoUmVzVXBUaW1lKCkKICAg
ICByZXR1cm4gKDEwMDAuMCAqIHFwYy5RdWFkUGFydCkgLyBzdGF0aWNfY2FzdDxkb3VibGU+KHFw
Y0ZyZXF1ZW5jeS5RdWFkUGFydCk7CiB9CiAKLXN0YXRpYyBkb3VibGUgbG93UmVzVVRDVGltZSgp
Ci17Ci0jaWYgT1MoV0lOQ0UpCi0gICAgU1lTVEVNVElNRSBzeXN0ZW1UaW1lOwotICAgIEdldFN5
c3RlbVRpbWUoJnN5c3RlbVRpbWUpOwotICAgIHN0cnVjdCB0bSB0bXRpbWU7Ci0gICAgdG10aW1l
LnRtX3llYXIgPSBzeXN0ZW1UaW1lLndZZWFyIC0gMTkwMDsKLSAgICB0bXRpbWUudG1fbW9uID0g
c3lzdGVtVGltZS53TW9udGggLSAxOwotICAgIHRtdGltZS50bV9tZGF5ID0gc3lzdGVtVGltZS53
RGF5OwotICAgIHRtdGltZS50bV93ZGF5ID0gc3lzdGVtVGltZS53RGF5T2ZXZWVrOwotICAgIHRt
dGltZS50bV9ob3VyID0gc3lzdGVtVGltZS53SG91cjsKLSAgICB0bXRpbWUudG1fbWluID0gc3lz
dGVtVGltZS53TWludXRlOwotICAgIHRtdGltZS50bV9zZWMgPSBzeXN0ZW1UaW1lLndTZWNvbmQ7
Ci0gICAgdGltZV90IHRpbWV0ID0gbWt0aW1lKCZ0bXRpbWUpOwotICAgIHJldHVybiB0aW1ldCAq
IG1zUGVyU2Vjb25kICsgc3lzdGVtVGltZS53TWlsbGlzZWNvbmRzOwotI2Vsc2UKLSAgICBzdHJ1
Y3QgX3RpbWViIHRpbWVidWZmZXI7Ci0gICAgX2Z0aW1lKCZ0aW1lYnVmZmVyKTsKLSAgICByZXR1
cm4gdGltZWJ1ZmZlci50aW1lICogbXNQZXJTZWNvbmQgKyB0aW1lYnVmZmVyLm1pbGxpdG07Ci0j
ZW5kaWYKLX0KLQogc3RhdGljIGJvb2wgcXBjQXZhaWxhYmxlKCkKIHsKICAgICBzdGF0aWMgYm9v
bCBhdmFpbGFibGU7CkBAIC0yMDgsMzYgKzE5MywxMyBAQCBkb3VibGUgY3VycmVudFRpbWUoKQog
CiAjZWxzZQogCi1zdGF0aWMgZG91YmxlIGN1cnJlbnRTeXN0ZW1UaW1lKCkKLXsKLSAgICBGSUxF
VElNRSBmdDsKLSAgICBHZXRDdXJyZW50RlQoJmZ0KTsKLQotICAgIC8vIEFzIHBlciBXaW5kb3dz
IGRvY3VtZW50YXRpb24gZm9yIEZJTEVUSU1FLCBjb3B5IHRoZSByZXN1bHRpbmcgRklMRVRJTUUg
c3RydWN0dXJlIHRvIGEKLSAgICAvLyBVTEFSR0VfSU5URUdFUiBzdHJ1Y3R1cmUgdXNpbmcgbWVt
Y3B5ICh1c2luZyBtZW1jcHkgaW5zdGVhZCBvZiBkaXJlY3QgYXNzaWdubWVudCBjYW4KLSAgICAv
LyBwcmV2ZW50IGFsaWdubWVudCBmYXVsdHMgb24gNjQtYml0IFdpbmRvd3MpLgotCi0gICAgVUxB
UkdFX0lOVEVHRVIgdDsKLSAgICBtZW1jcHkoJnQsICZmdCwgc2l6ZW9mKHQpKTsKLQotICAgIC8v
IFdpbmRvd3MgZmlsZSB0aW1lcyBhcmUgaW4gMTAwcyBvZiBuYW5vc2Vjb25kcy4KLSAgICAvLyBU
byBjb252ZXJ0IHRvIHNlY29uZHMsIHdlIGhhdmUgdG8gZGl2aWRlIGJ5IDEwLDAwMCwwMDAsIHdo
aWNoIGlzIG1vcmUgcXVpY2tseQotICAgIC8vIGRvbmUgYnkgbXVsdGlwbHlpbmcgYnkgMC4wMDAw
MDAxLgotCi0gICAgLy8gQmV0d2VlbiBKYW51YXJ5IDEsIDE2MDEgYW5kIEphbnVhcnkgMSwgMTk3
MCwgdGhlcmUgd2VyZSAzNjkgY29tcGxldGUgeWVhcnMsCi0gICAgLy8gb2Ygd2hpY2ggODkgd2Vy
ZSBsZWFwIHllYXJzICgxNzAwLCAxODAwLCBhbmQgMTkwMCB3ZXJlIG5vdCBsZWFwIHllYXJzKS4K
LSAgICAvLyBUaGF0IGlzIGEgdG90YWwgb2YgMTM0Nzc0IGRheXMsIHdoaWNoIGlzIDExNjQ0NDcz
NjAwIHNlY29uZHMuCi0KLSAgICByZXR1cm4gdC5RdWFkUGFydCAqIDAuMDAwMDAwMSAtIDExNjQ0
NDczNjAwLjA7Ci19Ci0KIGRvdWJsZSBjdXJyZW50VGltZSgpCiB7CiAgICAgc3RhdGljIGJvb2wg
aW5pdCA9IGZhbHNlOwogICAgIHN0YXRpYyBkb3VibGUgbGFzdFRpbWU7CiAgICAgc3RhdGljIERX
T1JEIGxhc3RUaWNrQ291bnQ7CiAgICAgaWYgKCFpbml0KSB7Ci0gICAgICAgIGxhc3RUaW1lID0g
Y3VycmVudFN5c3RlbVRpbWUoKTsKKyAgICAgICAgbGFzdFRpbWUgPSBsb3dSZXNVVENUaW1lKCk7
CiAgICAgICAgIGxhc3RUaWNrQ291bnQgPSBHZXRUaWNrQ291bnQoKTsKICAgICAgICAgaW5pdCA9
IHRydWU7CiAgICAgICAgIHJldHVybiBsYXN0VGltZTsK
</data>
<flag name="review"
          id="140983"
          type_id="1"
          status="-"
          setter="aroben"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144916</attachid>
            <date>2012-05-30 13:49:05 -0700</date>
            <delta_ts>2012-07-23 01:00:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83156b.patch</filename>
            <type>text/plain</type>
            <size>4563</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNTg4DQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZw0KaW5kZXggYjViMmE0MzgzYmQ0ZTc4OTM5YmY5
MjgwZWNmY2JjNjFjYWFmYzE1MS4uODc1ZjEwZGQ0Mzk0NTM0ZWJlZTY0ZDYxZDcxMjY0NjVlODE1
YjRkOSAxMDA2NDQNCi0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nDQorKysgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZw0KQEAgLTEsNSArMSwyMCBAQA0KIDIwMTItMDQtMDkgIFBhdHJpY2sgR2Fuc3Rl
cmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+DQogDQorICAgICAgICBbV0lOXSBTaW1wbGlmeSBpbXBs
ZW1lbnRhdGlvbiBvZiBjdXJyZW50VGltZSgpDQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODMxNTYNCisNCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLg0KKw0KKyAgICAgICAgVXNlIEdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lKCkgaW5z
dGVhZCBvZiBmdGltZSgpLg0KKyAgICAgICAgVGhpcyBhdm9pZHMgYW4gdW5uZWVkZWQgY2FsbCB0
byB0aGUgTVMgQ1JUIGFuZA0KKyAgICAgICAgYnJpbmdzIHRoZSBXaW4vV2luQ0UgY29kZSBjbG9z
ZXIgdG9nZXRoZXIuDQorDQorICAgICAgICAqIHd0Zi9DdXJyZW50VGltZS5jcHA6DQorICAgICAg
ICAoV1RGOjpsb3dSZXNVVENUaW1lKToNCisgICAgICAgIChXVEY6OmN1cnJlbnRUaW1lKToNCisN
CisyMDEyLTA0LTA5ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPg0KKw0K
ICAgICAgICAgW0NNYWtlXSBCdWlsZCBmaXggZm9yIFVTRV9TWVNURU1fTUFMTE9DIGFmdGVyIHIx
MTM1NzAuDQogDQogICAgICAgICAqIHd0Zi9DTWFrZUxpc3RzLnR4dDoNCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9DdXJyZW50VGltZS5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9DdXJyZW50VGlt
ZS5jcHANCmluZGV4IDg3NGY1ODYuLjM2OWMzMDMgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9DdXJyZW50VGltZS5jcHANCisrKyBiL1NvdXJjZS9XVEYvd3RmL0N1cnJlbnRUaW1lLmNwcA0K
QEAgLTQ3LDE1ICs0Nyw2IEBADQogI2luY2x1ZGUgPHN0ZGludC5oPg0KICNpbmNsdWRlIDx0aW1l
Lmg+DQogDQotI2lmIFVTRShRVUVSWV9QRVJGT1JNQU5DRV9DT1VOVEVSKQ0KLSNpZiBPUyhXSU5D
RSkNCi1leHRlcm4gIkMiIHRpbWVfdCBta3RpbWUoc3RydWN0IHRtICp0KTsNCi0jZWxzZQ0KLSNp
bmNsdWRlIDxzeXMvdGltZWIuaD4NCi0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQotI2VuZGlmDQot
I2VuZGlmDQotDQogI2VsaWYgUExBVEZPUk0oV1gpDQogI2luY2x1ZGUgPHd4L2RhdGV0aW1lLmg+
DQogI2VsaWYgUExBVEZPUk0oRUZMKQ0KQEAgLTc0LDEyICs2NSwzNCBAQCBleHRlcm4gIkMiIHRp
bWVfdCBta3RpbWUoc3RydWN0IHRtICp0KTsNCiANCiBuYW1lc3BhY2UgV1RGIHsNCiANCi1jb25z
dCBkb3VibGUgbXNQZXJTZWNvbmQgPSAxMDAwLjA7DQotDQogI2lmICFQTEFURk9STShDSFJPTUlV
TSkNCiANCiAjaWYgT1MoV0lORE9XUykNCiANCisvLyBOdW1iZXIgb2YgMTAwIG5hbm9zZWNvbmQg
YmV0d2VlbiBKYW51YXJ5IDEsIDE2MDEgYW5kIEphbnVhcnkgMSwgMTk3MC4NCitzdGF0aWMgY29u
c3QgVUxPTkdMT05HIGVwb2NoQmlhcyA9IDExNjQ0NDczNjAwMDAwMDAwMFVMTDsNCitzdGF0aWMg
Y29uc3QgZG91YmxlIG5zUGVyU2Vjb25kID0gMTAwMDAwMDAwMC4wOw0KKw0KK3N0YXRpYyBkb3Vi
bGUgbG93UmVzVVRDVGltZSgpDQorew0KKyAgICBGSUxFVElNRSBmaWxlVGltZTsNCisNCisjaWYg
T1MoV0lOQ0UpDQorICAgIEdldEN1cnJlbnRGVCgmZmlsZVRpbWUpOw0KKyNlbHNlDQorICAgIEdl
dFN5c3RlbVRpbWVBc0ZpbGVUaW1lKCZmaWxlVGltZSk7DQorI2VuZGlmDQorDQorICAgIC8vIEFz
IHBlciBXaW5kb3dzIGRvY3VtZW50YXRpb24gZm9yIEZJTEVUSU1FLCBjb3B5IHRoZSByZXN1bHRp
bmcgRklMRVRJTUUgc3RydWN0dXJlIHRvIGENCisgICAgLy8gVUxBUkdFX0lOVEVHRVIgc3RydWN0
dXJlIHVzaW5nIG1lbWNweSAodXNpbmcgbWVtY3B5IGluc3RlYWQgb2YgZGlyZWN0IGFzc2lnbm1l
bnQgY2FuDQorICAgIC8vIHByZXZlbnQgYWxpZ25tZW50IGZhdWx0cyBvbiA2NC1iaXQgV2luZG93
cykuDQorDQorICAgIFVMQVJHRV9JTlRFR0VSIGRhdGVUaW1lOw0KKyAgICBtZW1jcHkoJmRhdGVU
aW1lLCAmZmlsZVRpbWUsIHNpemVvZihkYXRlVGltZSkpOw0KKw0KKyAgICByZXR1cm4gKGRhdGVU
aW1lLlF1YWRQYXJ0IC0gZXBvY2hCaWFzKSAvICgxMDAgKiBuc1BlclNlY29uZCk7DQorfQ0KKw0K
ICNpZiBVU0UoUVVFUllfUEVSRk9STUFOQ0VfQ09VTlRFUikNCiANCiBzdGF0aWMgTEFSR0VfSU5U
RUdFUiBxcGNGcmVxdWVuY3k7DQpAQCAtMTI4LDI4ICsxNDEsNiBAQCBzdGF0aWMgZG91YmxlIGhp
Z2hSZXNVcFRpbWUoKQ0KICAgICByZXR1cm4gKDEwMDAuMCAqIHFwYy5RdWFkUGFydCkgLyBzdGF0
aWNfY2FzdDxkb3VibGU+KHFwY0ZyZXF1ZW5jeS5RdWFkUGFydCk7DQogfQ0KIA0KLXN0YXRpYyBk
b3VibGUgbG93UmVzVVRDVGltZSgpDQotew0KLSNpZiBPUyhXSU5DRSkNCi0gICAgU1lTVEVNVElN
RSBzeXN0ZW1UaW1lOw0KLSAgICBHZXRTeXN0ZW1UaW1lKCZzeXN0ZW1UaW1lKTsNCi0gICAgc3Ry
dWN0IHRtIHRtdGltZTsNCi0gICAgdG10aW1lLnRtX3llYXIgPSBzeXN0ZW1UaW1lLndZZWFyIC0g
MTkwMDsNCi0gICAgdG10aW1lLnRtX21vbiA9IHN5c3RlbVRpbWUud01vbnRoIC0gMTsNCi0gICAg
dG10aW1lLnRtX21kYXkgPSBzeXN0ZW1UaW1lLndEYXk7DQotICAgIHRtdGltZS50bV93ZGF5ID0g
c3lzdGVtVGltZS53RGF5T2ZXZWVrOw0KLSAgICB0bXRpbWUudG1faG91ciA9IHN5c3RlbVRpbWUu
d0hvdXI7DQotICAgIHRtdGltZS50bV9taW4gPSBzeXN0ZW1UaW1lLndNaW51dGU7DQotICAgIHRt
dGltZS50bV9zZWMgPSBzeXN0ZW1UaW1lLndTZWNvbmQ7DQotICAgIHRpbWVfdCB0aW1ldCA9IG1r
dGltZSgmdG10aW1lKTsNCi0gICAgcmV0dXJuIHRpbWV0ICogbXNQZXJTZWNvbmQgKyBzeXN0ZW1U
aW1lLndNaWxsaXNlY29uZHM7DQotI2Vsc2UNCi0gICAgc3RydWN0IF90aW1lYiB0aW1lYnVmZmVy
Ow0KLSAgICBfZnRpbWUoJnRpbWVidWZmZXIpOw0KLSAgICByZXR1cm4gdGltZWJ1ZmZlci50aW1l
ICogbXNQZXJTZWNvbmQgKyB0aW1lYnVmZmVyLm1pbGxpdG07DQotI2VuZGlmDQotfQ0KLQ0KIHN0
YXRpYyBib29sIHFwY0F2YWlsYWJsZSgpDQogew0KICAgICBzdGF0aWMgYm9vbCBhdmFpbGFibGU7
DQpAQCAtMjA4LDM2ICsxOTksMTMgQEAgZG91YmxlIGN1cnJlbnRUaW1lKCkNCiANCiAjZWxzZQ0K
IA0KLXN0YXRpYyBkb3VibGUgY3VycmVudFN5c3RlbVRpbWUoKQ0KLXsNCi0gICAgRklMRVRJTUUg
ZnQ7DQotICAgIEdldEN1cnJlbnRGVCgmZnQpOw0KLQ0KLSAgICAvLyBBcyBwZXIgV2luZG93cyBk
b2N1bWVudGF0aW9uIGZvciBGSUxFVElNRSwgY29weSB0aGUgcmVzdWx0aW5nIEZJTEVUSU1FIHN0
cnVjdHVyZSB0byBhDQotICAgIC8vIFVMQVJHRV9JTlRFR0VSIHN0cnVjdHVyZSB1c2luZyBtZW1j
cHkgKHVzaW5nIG1lbWNweSBpbnN0ZWFkIG9mIGRpcmVjdCBhc3NpZ25tZW50IGNhbg0KLSAgICAv
LyBwcmV2ZW50IGFsaWdubWVudCBmYXVsdHMgb24gNjQtYml0IFdpbmRvd3MpLg0KLQ0KLSAgICBV
TEFSR0VfSU5URUdFUiB0Ow0KLSAgICBtZW1jcHkoJnQsICZmdCwgc2l6ZW9mKHQpKTsNCi0NCi0g
ICAgLy8gV2luZG93cyBmaWxlIHRpbWVzIGFyZSBpbiAxMDBzIG9mIG5hbm9zZWNvbmRzLg0KLSAg
ICAvLyBUbyBjb252ZXJ0IHRvIHNlY29uZHMsIHdlIGhhdmUgdG8gZGl2aWRlIGJ5IDEwLDAwMCww
MDAsIHdoaWNoIGlzIG1vcmUgcXVpY2tseQ0KLSAgICAvLyBkb25lIGJ5IG11bHRpcGx5aW5nIGJ5
IDAuMDAwMDAwMS4NCi0NCi0gICAgLy8gQmV0d2VlbiBKYW51YXJ5IDEsIDE2MDEgYW5kIEphbnVh
cnkgMSwgMTk3MCwgdGhlcmUgd2VyZSAzNjkgY29tcGxldGUgeWVhcnMsDQotICAgIC8vIG9mIHdo
aWNoIDg5IHdlcmUgbGVhcCB5ZWFycyAoMTcwMCwgMTgwMCwgYW5kIDE5MDAgd2VyZSBub3QgbGVh
cCB5ZWFycykuDQotICAgIC8vIFRoYXQgaXMgYSB0b3RhbCBvZiAxMzQ3NzQgZGF5cywgd2hpY2gg
aXMgMTE2NDQ0NzM2MDAgc2Vjb25kcy4NCi0NCi0gICAgcmV0dXJuIHQuUXVhZFBhcnQgKiAwLjAw
MDAwMDEgLSAxMTY0NDQ3MzYwMC4wOw0KLX0NCi0NCiBkb3VibGUgY3VycmVudFRpbWUoKQ0KIHsN
CiAgICAgc3RhdGljIGJvb2wgaW5pdCA9IGZhbHNlOw0KICAgICBzdGF0aWMgZG91YmxlIGxhc3RU
aW1lOw0KICAgICBzdGF0aWMgRFdPUkQgbGFzdFRpY2tDb3VudDsNCiAgICAgaWYgKCFpbml0KSB7
DQotICAgICAgICBsYXN0VGltZSA9IGN1cnJlbnRTeXN0ZW1UaW1lKCk7DQorICAgICAgICBsYXN0
VGltZSA9IGxvd1Jlc1VUQ1RpbWUoKTsNCiAgICAgICAgIGxhc3RUaWNrQ291bnQgPSBHZXRUaWNr
Q291bnQoKTsNCiAgICAgICAgIGluaXQgPSB0cnVlOw0KICAgICAgICAgcmV0dXJuIGxhc3RUaW1l
Ow0K
</data>
<flag name="review"
          id="151914"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
          </attachment>
      

    </bug>

</bugzilla>