<?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>23312</bug_id>
          
          <creation_ts>2009-01-14 00:07:13 -0800</creation_ts>
          <short_desc>Implement MessageQueue::waitForMessageTimed()</short_desc>
          <delta_ts>2009-01-14 13:57:57 -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>Web Template Framework</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>22718</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dmitry Titov">dimich</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>105642</commentid>
    <comment_count>0</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2009-01-14 00:07:13 -0800</bug_when>
    <thetext>Yet another part of &apos;timers in workers&apos; (bug 22718).
The Win32 version of ThreadCondition::waitTimed() still needs to be implemented, that will be a separate patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>105644</commentid>
    <comment_count>1</comment_count>
      <attachid>26704</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2009-01-14 00:25:35 -0800</bug_when>
    <thetext>Created attachment 26704
Proposed patch

Also changed ThreadCondition::timedWait() to take absolute time, as discussed on webkit-dev.
Built Mac and Win.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>105708</commentid>
    <comment_count>2</comment_count>
      <attachid>26704</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-01-14 10:17:56 -0800</bug_when>
    <thetext>Comment on attachment 26704
Proposed patch

+        (WTF::):

It&apos;s best to correct the script in cases like this to have more reasonable ChangeLogs.

+    enum MessageQueueWaitResult {

MessageQueue itself is made visible in global namespace by a using directive, you should do the same for the result type and its values. We generally prefer to put &quot;using&quot; declarations for &quot;public&quot; WTF symbols, and leave ones that are implementation details in the WTF namespace without importing them. Taking this approach has the benefit that no one is tempted to say &quot;using namespace WTF&quot;, so risk of collision with the non-public symbols is reduced.

Historically, there was some disagreement on this point, so many public symbols do not have &quot;using&quot; declarations at the moment.

+    // The absoluteTime is in seconds, starting on January 1, 1970.

It could be helpful to clarify what time zone is used (maybe by saying that the time is measured in the same units as currentTime() return value?)

+    // QT defines wait for up to ULONG_MAX milliseconds.

QT is QuickTime, and this file is for Qt.

-    // Empty for now
+    // FIXME: Implement.

There&apos;s also notImplemented() - but I guess that you are probably going to implement this soon anyway.

r=me, but please consider my nitpicks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>105731</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-01-14 10:50:10 -0800</bug_when>
    <thetext>&gt; There&apos;s also notImplemented()

Sorry, that lives in WebCore/platform.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>105763</commentid>
    <comment_count>4</comment_count>
      <attachid>26725</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2009-01-14 12:18:59 -0800</bug_when>
    <thetext>Created attachment 26725
Updated patch

Updated with Alexey&apos;s comments:
- updated ChangeLog to be more informative
- added &apos;using WTF::MessageQueueWaitResult&apos;, also for its values
- fixed typo /QT/Qt/
- left FIXME (and yes, I&apos;ll implement this very soon)

It seems this one is ready for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>105783</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-01-14 13:57:57 -0800</bug_when>
    <thetext>Committed revision 39908.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>26704</attachid>
            <date>2009-01-14 00:25:35 -0800</date>
            <delta_ts>2009-01-14 12:18:59 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>timed.txt</filename>
            <type>text/plain</type>
            <size>9842</size>
            <attacher name="Dmitry Titov">dimich</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA3M2Q4ZTJlLi42M2Y5YmIwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjgg
QEAKKzIwMDktMDEtMTQgIERtaXRyeSBUaXRvdiAgPGRpbWljaEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzEyCisgICAgICAgIEltcGxlbWVudCBNZXNz
YWdlUXVldWU6OndhaXRGb3JNZXNzYWdlVGltZWQoKQorICAgICAgICBBbHNvIGZpeGVkIFRocmVh
ZENvbmRpdGlvbjo6dGltZWRXYWl0KCkgdG8gdGFrZSBhYnNvbHV0ZSB0aW1lLCBhcyBkaXNjdXNz
ZWQgb24gd2Via2l0LWRldi4KKyAgICAgICAgV2luMzIgdmVyc2lvbiBvZiB0aW1lZFdhaXQgc3Rp
bGwgaGFzIHRvIGJlIGltcGxlbWVudGVkLgorCisgICAgICAgICogd3RmL01lc3NhZ2VRdWV1ZS5o
OgorICAgICAgICAoV1RGOjopOgorICAgICAgICAoV1RGOjo6OndhaXRGb3JNZXNzYWdlKToKKyAg
ICAgICAgKFdURjo6Ojp3YWl0Rm9yTWVzc2FnZVRpbWVkKTogTmV3IG1ldGhvZC4KKyAgICAgICAg
KiB3dGYvVGhyZWFkaW5nLmg6CisgICAgICAgICogd3RmL1RocmVhZGluZ0d0ay5jcHA6CisgICAg
ICAgIChXVEY6OlRocmVhZENvbmRpdGlvbjo6dGltZWRXYWl0KToKKyAgICAgICAgKiB3dGYvVGhy
ZWFkaW5nTm9uZS5jcHA6CisgICAgICAgIChXVEY6OlRocmVhZENvbmRpdGlvbjo6dGltZWRXYWl0
KToKKyAgICAgICAgKiB3dGYvVGhyZWFkaW5nUHRocmVhZHMuY3BwOgorICAgICAgICAoV1RGOjpU
aHJlYWRDb25kaXRpb246OnRpbWVkV2FpdCk6CisgICAgICAgICogd3RmL1RocmVhZGluZ1F0LmNw
cDoKKyAgICAgICAgKFdURjo6VGhyZWFkQ29uZGl0aW9uOjp0aW1lZFdhaXQpOgorICAgICAgICAq
IHd0Zi9UaHJlYWRpbmdXaW4uY3BwOgorICAgICAgICAoV1RGOjpUaHJlYWRDb25kaXRpb246OnRp
bWVkV2FpdCk6CisKIDIwMDktMDEtMTMgIFphbGFuIEJ1anRhcyAgPHpidWp0YXNAZ21haWwuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VR
dWV1ZS5oCmluZGV4IDQ4MTIxMWQuLjhiMTk2MzQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9NZXNzYWdlUXVldWUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVl
LmgKQEAgLTM2LDYgKzM2LDEyIEBACiAKIG5hbWVzcGFjZSBXVEYgewogCisgICAgZW51bSBNZXNz
YWdlUXVldWVXYWl0UmVzdWx0IHsKKyAgICAgICAgTWVzc2FnZVF1ZXVlVGVybWluYXRlZCwgICAg
ICAgLy8gUXVldWUgd2FzIGRlc3Ryb3llZCB3aGlsZSB3YWl0aW5nIGZvciBtZXNzYWdlLgorICAg
ICAgICBNZXNzYWdlUXVldWVUaW1lb3V0LCAgICAgICAgICAvLyBUaW1lb3V0IHdhcyBzcGVjaWZp
ZWQgYW5kIGl0IGV4cGlyZWQuCisgICAgICAgIE1lc3NhZ2VRdWV1ZU1lc3NhZ2VSZWNlaXZlZCwg
IC8vIEEgbWVzc2FnZSB3YXMgc3VjY2Vzc2Z1bGx5IHJlY2VpdmVkIGFuZCByZXR1cm5lZC4KKyAg
ICB9OworCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRGF0YVR5cGU+CiAgICAgY2xhc3MgTWVzc2Fn
ZVF1ZXVlIDogTm9uY29weWFibGUgewogICAgIHB1YmxpYzoKQEAgLTQ0LDYgKzUwLDcgQEAgbmFt
ZXNwYWNlIFdURiB7CiAgICAgICAgIHZvaWQgYXBwZW5kKGNvbnN0IERhdGFUeXBlJik7CiAgICAg
ICAgIHZvaWQgcHJlcGVuZChjb25zdCBEYXRhVHlwZSYpOwogICAgICAgICBib29sIHdhaXRGb3JN
ZXNzYWdlKERhdGFUeXBlJik7CisgICAgICAgIE1lc3NhZ2VRdWV1ZVdhaXRSZXN1bHQgd2FpdEZv
ck1lc3NhZ2VUaW1lZChEYXRhVHlwZSYsIGRvdWJsZSBhYnNvbHV0ZVRpbWUpOwogICAgICAgICB2
b2lkIGtpbGwoKTsKIAogICAgICAgICBib29sIHRyeUdldE1lc3NhZ2UoRGF0YVR5cGUmKTsKQEAg
LTc5LDcgKzg2LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgaW5saW5lIGJvb2wgTWVzc2FnZVF1
ZXVlPERhdGFUeXBlPjo6d2FpdEZvck1lc3NhZ2UoRGF0YVR5cGUmIHJlc3VsdCkKICAgICB7CiAg
ICAgICAgIE11dGV4TG9ja2VyIGxvY2sobV9tdXRleCk7Ci0gICAgICAgIAorCiAgICAgICAgIHdo
aWxlICghbV9raWxsZWQgJiYgbV9xdWV1ZS5pc0VtcHR5KCkpCiAgICAgICAgICAgICBtX2NvbmRp
dGlvbi53YWl0KG1fbXV0ZXgpOwogCkBAIC05Myw2ICsxMDAsMjcgQEAgbmFtZXNwYWNlIFdURiB7
CiAgICAgfQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRGF0YVR5cGU+CisgICAgaW5saW5lIE1l
c3NhZ2VRdWV1ZVdhaXRSZXN1bHQgTWVzc2FnZVF1ZXVlPERhdGFUeXBlPjo6d2FpdEZvck1lc3Nh
Z2VUaW1lZChEYXRhVHlwZSYgcmVzdWx0LCBkb3VibGUgYWJzb2x1dGVUaW1lKQorICAgIHsKKyAg
ICAgICAgTXV0ZXhMb2NrZXIgbG9jayhtX211dGV4KTsKKyAgICAgICAgYm9vbCB0aW1lZE91dCA9
IGZhbHNlOworCisgICAgICAgIHdoaWxlICghbV9raWxsZWQgJiYgIXRpbWVkT3V0ICYmIG1fcXVl
dWUuaXNFbXB0eSgpKQorICAgICAgICAgICAgdGltZWRPdXQgPSAhbV9jb25kaXRpb24udGltZWRX
YWl0KG1fbXV0ZXgsIGFic29sdXRlVGltZSk7CisKKyAgICAgICAgaWYgKG1fa2lsbGVkKQorICAg
ICAgICAgICAgcmV0dXJuIE1lc3NhZ2VRdWV1ZVRlcm1pbmF0ZWQ7CisKKyAgICAgICAgaWYgKHRp
bWVkT3V0KQorICAgICAgICAgICAgcmV0dXJuIE1lc3NhZ2VRdWV1ZVRpbWVvdXQ7CisKKyAgICAg
ICAgQVNTRVJUKCFtX3F1ZXVlLmlzRW1wdHkoKSk7CisgICAgICAgIHJlc3VsdCA9IG1fcXVldWUu
Zmlyc3QoKTsKKyAgICAgICAgbV9xdWV1ZS5yZW1vdmVGaXJzdCgpOworICAgICAgICByZXR1cm4g
TWVzc2FnZVF1ZXVlTWVzc2FnZVJlY2VpdmVkOworICAgIH0KKworICAgIHRlbXBsYXRlPHR5cGVu
YW1lIERhdGFUeXBlPgogICAgIGlubGluZSBib29sIE1lc3NhZ2VRdWV1ZTxEYXRhVHlwZT46OnRy
eUdldE1lc3NhZ2UoRGF0YVR5cGUmIHJlc3VsdCkKICAgICB7CiAgICAgICAgIE11dGV4TG9ja2Vy
IGxvY2sobV9tdXRleCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5n
LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKaW5kZXggMTU2MDEzZC4uOTdkZTVl
MSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaApAQCAtMTY3LDggKzE2Nyw5IEBAIHB1YmxpYzoKICAg
ICB+VGhyZWFkQ29uZGl0aW9uKCk7CiAgICAgCiAgICAgdm9pZCB3YWl0KE11dGV4JiBtdXRleCk7
Ci0gICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb24gd2FzIHNpZ25hbGVkIGJlZm9y
ZSB0aGUgdGltZW91dCwgZmFsc2UgaWYgdGhlIHRpbWVvdXQgd2FzIHJlYWNoZWQKLSAgICBib29s
IHRpbWVkV2FpdChNdXRleCYsIGRvdWJsZSBpbnRlcnZhbCk7CisgICAgLy8gUmV0dXJucyB0cnVl
IGlmIHRoZSBjb25kaXRpb24gd2FzIHNpZ25hbGVkIGJlZm9yZSBhYnNvbHV0ZVRpbWUsIGZhbHNl
IGlmIHRoZSBhYnNvbHV0ZVRpbWUgd2FzIHJlYWNoZWQgb3IgaXMgaW4gdGhlIHBhc3QuCisgICAg
Ly8gVGhlIGFic29sdXRlVGltZSBpcyBpbiBzZWNvbmRzLCBzdGFydGluZyBvbiBKYW51YXJ5IDEs
IDE5NzAuCisgICAgYm9vbCB0aW1lZFdhaXQoTXV0ZXgmLCBkb3VibGUgYWJzb2x1dGVUaW1lKTsK
ICAgICB2b2lkIHNpZ25hbCgpOwogICAgIHZvaWQgYnJvYWRjYXN0KCk7CiAgICAgCmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nR3RrLmNwcCBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi9UaHJlYWRpbmdHdGsuY3BwCmluZGV4IDc3N2Q1NWIuLjI0YzM0Y2EgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdHdGsuY3BwCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi9UaHJlYWRpbmdHdGsuY3BwCkBAIC0zMiwxMSArMzIsMTMgQEAKIAogI2lmICFVU0UoUFRI
UkVBRFMpCiAKKyNpbmNsdWRlICJDdXJyZW50VGltZS5oIgogI2luY2x1ZGUgIkhhc2hNYXAuaCIK
ICNpbmNsdWRlICJNYWluVGhyZWFkLmgiCiAjaW5jbHVkZSAiUmFuZG9tTnVtYmVyU2VlZC5oIgog
CiAjaW5jbHVkZSA8Z2xpYi5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgogCiBuYW1lc3BhY2UgV1RG
IHsKIApAQCAtMjA1LDI1ICsyMDcsMjQgQEAgdm9pZCBUaHJlYWRDb25kaXRpb246OndhaXQoTXV0
ZXgmIG11dGV4KQogICAgIGdfY29uZF93YWl0KG1fY29uZGl0aW9uLmdldCgpLCBtdXRleC5pbXBs
KCkuZ2V0KCkpOwogfQogCi1ib29sIFRocmVhZENvbmRpdGlvbjo6dGltZWRXYWl0KE11dGV4JiBt
dXRleCwgZG91YmxlIGludGVydmFsKQorYm9vbCBUaHJlYWRDb25kaXRpb246OnRpbWVkV2FpdChN
dXRleCYgbXV0ZXgsIGRvdWJsZSBhYnNvbHV0ZVRpbWUpCiB7Ci0gICAgaWYgKGludGVydmFsIDwg
MC4wKSB7CisgICAgLy8gVGltZSBpcyBpbiB0aGUgcGFzdCAtIHJldHVybiByaWdodCBhd2F5Lgor
ICAgIGlmIChhYnNvbHV0ZVRpbWUgPCBjdXJyZW50VGltZSgpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgCisgICAgLy8gVGltZSBpcyB0b28gZmFyIGluIHRoZSBmdXR1cmUgZm9yIGdfY29u
ZF90aW1lZF93YWl0IC0gd2FpdCBmb3JldmVyLgorICAgIGlmIChhYnNvbHV0ZVRpbWUgPiBJTlRf
TUFYKSB7CiAgICAgICAgIHdhaXQobXV0ZXgpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9
Ci0gICAgCi0gICAgaW50IGludGVydmFsU2Vjb25kcyA9IHN0YXRpY19jYXN0PGludD4oaW50ZXJ2
YWwpOwotICAgIGludCBpbnRlcnZhbE1pY3Jvc2Vjb25kcyA9IHN0YXRpY19jYXN0PGludD4oKGlu
dGVydmFsIC0gaW50ZXJ2YWxTZWNvbmRzKSAqIDEwMDAwMDAuMCk7CisKKyAgICBpbnQgdGltZVNl
Y29uZHMgPSBzdGF0aWNfY2FzdDxpbnQ+KGFic29sdXRlVGltZSk7CisgICAgaW50IHRpbWVNaWNy
b3NlY29uZHMgPSBzdGF0aWNfY2FzdDxpbnQ+KChhYnNvbHV0ZVRpbWUgLSB0aW1lU2Vjb25kcykg
KiAxMDAwMDAwLjApOwogICAgIAogICAgIEdUaW1lVmFsIHRhcmdldFRpbWU7Ci0gICAgZ19nZXRf
Y3VycmVudF90aW1lKCZ0YXJnZXRUaW1lKTsKLSAgICAgICAgCi0gICAgdGFyZ2V0VGltZS50dl9z
ZWMgKz0gaW50ZXJ2YWxTZWNvbmRzOwotICAgIHRhcmdldFRpbWUudHZfdXNlYyArPSBpbnRlcnZh
bE1pY3Jvc2Vjb25kczsKLSAgICBpZiAodGFyZ2V0VGltZS50dl91c2VjID4gMTAwMDAwMCkgewot
ICAgICAgICB0YXJnZXRUaW1lLnR2X3VzZWMgLT0gMTAwMDAwMDsKLSAgICAgICAgdGFyZ2V0VGlt
ZS50dl9zZWMrKzsKLSAgICB9CisgICAgdGFyZ2V0VGltZS50dl9zZWMgPSB0aW1lU2Vjb25kczsK
KyAgICB0YXJnZXRUaW1lLnR2X3VzZWMgPSB0aW1lTWljcm9zZWNvbmRzOwogCiAgICAgcmV0dXJu
IGdfY29uZF90aW1lZF93YWl0KG1fY29uZGl0aW9uLmdldCgpLCBtdXRleC5pbXBsKCkuZ2V0KCks
ICZ0YXJnZXRUaW1lKTsKIH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRp
bmdOb25lLmNwcCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdOb25lLmNwcAppbmRleCA4
MzJjZDBjLi4wYmUyYTRiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5n
Tm9uZS5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ05vbmUuY3BwCkBAIC00
OCw3ICs0OCw3IEBAIHZvaWQgTXV0ZXg6OnVubG9jaygpIHsgfQogVGhyZWFkQ29uZGl0aW9uOjpU
aHJlYWRDb25kaXRpb24oKSB7IH0KIFRocmVhZENvbmRpdGlvbjo6flRocmVhZENvbmRpdGlvbigp
IHsgfQogdm9pZCBUaHJlYWRDb25kaXRpb246OndhaXQoTXV0ZXgmIG11dGV4KSB7IH0KLWJvb2wg
VGhyZWFkQ29uZGl0aW9uOjp0aW1lZFdhaXQoTXV0ZXgmIG11dGV4LCBkb3VibGUgaW50ZXJ2YWwp
IHsgcmV0dXJuIGZhbHNlOyB9Citib29sIFRocmVhZENvbmRpdGlvbjo6dGltZWRXYWl0KE11dGV4
JiBtdXRleCwgZG91YmxlIGFic29sdXRlVGltZSkgeyByZXR1cm4gZmFsc2U7IH0KIHZvaWQgVGhy
ZWFkQ29uZGl0aW9uOjpzaWduYWwoKSB7IH0KIHZvaWQgVGhyZWFkQ29uZGl0aW9uOjpicm9hZGNh
c3QoKSB7IH0KIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1B0aHJl
YWRzLmNwcCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHAKaW5kZXgg
ZjExMWZjZi4uZWQxMDJlNSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGlu
Z1B0aHJlYWRzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHRocmVhZHMu
Y3BwCkBAIC0zMyw2ICszMyw3IEBACiAKICNpZiBVU0UoUFRIUkVBRFMpCiAKKyNpbmNsdWRlICJD
dXJyZW50VGltZS5oIgogI2luY2x1ZGUgIkhhc2hNYXAuaCIKICNpbmNsdWRlICJNYWluVGhyZWFk
LmgiCiAjaW5jbHVkZSAiUmFuZG9tTnVtYmVyU2VlZC5oIgpAQCAtMjMyLDI4ICsyMzMsMjIgQEAg
dm9pZCBUaHJlYWRDb25kaXRpb246OndhaXQoTXV0ZXgmIG11dGV4KQogICAgICAgICBBU1NFUlQo
ZmFsc2UpOwogfQogCi1ib29sIFRocmVhZENvbmRpdGlvbjo6dGltZWRXYWl0KE11dGV4JiBtdXRl
eCwgZG91YmxlIHNlY29uZHNUb1dhaXQpCitib29sIFRocmVhZENvbmRpdGlvbjo6dGltZWRXYWl0
KE11dGV4JiBtdXRleCwgZG91YmxlIGFic29sdXRlVGltZSkKIHsKLSAgICBpZiAoc2Vjb25kc1Rv
V2FpdCA8IDAuMCkgeworICAgIGlmIChhYnNvbHV0ZVRpbWUgPCBjdXJyZW50VGltZSgpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoYWJzb2x1dGVUaW1lID4gSU5UX01BWCkgewog
ICAgICAgICB3YWl0KG11dGV4KTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCi0gICAg
aW50IGludGVydmFsU2Vjb25kcyA9IHN0YXRpY19jYXN0PGludD4oc2Vjb25kc1RvV2FpdCk7Ci0g
ICAgaW50IGludGVydmFsTWljcm9zZWNvbmRzID0gc3RhdGljX2Nhc3Q8aW50Pigoc2Vjb25kc1Rv
V2FpdCAtIGludGVydmFsU2Vjb25kcykgKiAxMDAwMDAwLjApOworICAgIGludCB0aW1lU2Vjb25k
cyA9IHN0YXRpY19jYXN0PGludD4oYWJzb2x1dGVUaW1lKTsKKyAgICBpbnQgdGltZU5hbm9zZWNv
bmRzID0gc3RhdGljX2Nhc3Q8aW50PigoYWJzb2x1dGVUaW1lIC0gdGltZVNlY29uZHMpICogMUU5
KTsKIAotICAgIC8vIEN1cnJlbnQgdGltZSBjb21lcyBpbiBzZWMvbWljcm9zZWMKLSAgICB0aW1l
dmFsIGN1cnJlbnRUaW1lOwotICAgIGdldHRpbWVvZmRheSgmY3VycmVudFRpbWUsIE5VTEwpOwot
Ci0gICAgLy8gVGFyZ2V0IHRpbWUgY29tZXMgaW4gc2VjL25hbm9zZWMKICAgICB0aW1lc3BlYyB0
YXJnZXRUaW1lOwotICAgIHRhcmdldFRpbWUudHZfc2VjID0gY3VycmVudFRpbWUudHZfc2VjICsg
aW50ZXJ2YWxTZWNvbmRzOwotICAgIHRhcmdldFRpbWUudHZfbnNlYyA9IChjdXJyZW50VGltZS50
dl91c2VjICsgaW50ZXJ2YWxNaWNyb3NlY29uZHMpICogMTAwMDsKLSAgICBpZiAodGFyZ2V0VGlt
ZS50dl9uc2VjID4gMTAwMDAwMDAwMCkgewotICAgICAgICB0YXJnZXRUaW1lLnR2X25zZWMgLT0g
MTAwMDAwMDAwMDsKLSAgICAgICAgdGFyZ2V0VGltZS50dl9zZWMrKzsKLSAgICB9CisgICAgdGFy
Z2V0VGltZS50dl9zZWMgPSB0aW1lU2Vjb25kczsKKyAgICB0YXJnZXRUaW1lLnR2X25zZWMgPSB0
aW1lTmFub3NlY29uZHM7CiAKICAgICByZXR1cm4gcHRocmVhZF9jb25kX3RpbWVkd2FpdCgmbV9j
b25kaXRpb24sICZtdXRleC5pbXBsKCksICZ0YXJnZXRUaW1lKSA9PSAwOwogfQpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1F0LmNwcCBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9UaHJlYWRpbmdRdC5jcHAKaW5kZXggMDMwOWYyYi4uYjYwMjY4MCAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1F0LmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYv
VGhyZWFkaW5nUXQuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiVGhyZWFkaW5nLmgiCiAKKyNpbmNsdWRlICJDdXJyZW50VGltZS5oIgogI2luY2x1
ZGUgIkhhc2hNYXAuaCIKICNpbmNsdWRlICJNYWluVGhyZWFkLmgiCiAjaW5jbHVkZSAiUmFuZG9t
TnVtYmVyU2VlZC5oIgpAQCAtMjMzLDE1ICsyMzQsMjAgQEAgdm9pZCBUaHJlYWRDb25kaXRpb246
OndhaXQoTXV0ZXgmIG11dGV4KQogICAgIG1fY29uZGl0aW9uLT53YWl0KG11dGV4LmltcGwoKSk7
CiB9CiAKLWJvb2wgVGhyZWFkQ29uZGl0aW9uOjp0aW1lZFdhaXQoTXV0ZXgmIG11dGV4LCBkb3Vi
bGUgc2Vjb25kc1RvV2FpdCkKK2Jvb2wgVGhyZWFkQ29uZGl0aW9uOjp0aW1lZFdhaXQoTXV0ZXgm
IG11dGV4LCBkb3VibGUgYWJzb2x1dGVUaW1lKQogewotICAgIGlmIChzZWNvbmRzVG9XYWl0IDwg
MC4wKSB7Ci0gICAgICAgIHdhaXQobXV0ZXgpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9
CisgICAgZG91YmxlIGN1cnJlbnRUaW1lID0gV1RGOjpjdXJyZW50VGltZSgpOworCisgICAgLy8g
VGltZSBpcyBpbiB0aGUgcGFzdCAtIHJldHVybiBpbW1lZGlhdGVseS4KKyAgICBpZiAoYWJzb2x1
dGVUaW1lIDwgY3VycmVudFRpbWUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGRvdWJs
ZSBpbnRlcnZhbE1pbGxpc2Vjb25kcyA9IChhYnNvbHV0ZVRpbWUgLSBjdXJyZW50VGltZSkgKiAx
MDAwLjA7CisgICAgLy8gUVQgZGVmaW5lcyB3YWl0IGZvciB1cCB0byBVTE9OR19NQVggbWlsbGlz
ZWNvbmRzLgorICAgIGlmIChpbnRlcnZhbCA+PSBVTE9OR19NQVgpCisgICAgICAgIGludGVydmFs
ID0gVUxPTkdfTUFYOwogCi0gICAgdW5zaWduZWQgbG9uZyBtaWxsaXNlY29uZHNUb1dhaXQgPSBz
dGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nPihzZWNvbmRzVG9XYWl0ICogMTAwMC4wKTsKLSAgICBy
ZXR1cm4gbV9jb25kaXRpb24tPndhaXQobXV0ZXguaW1wbCgpLCBtaWxsaXNlY29uZHNUb1dhaXQp
OworICAgIHJldHVybiBtX2NvbmRpdGlvbi0+d2FpdChtdXRleC5pbXBsKCksIHN0YXRpY19jYXN0
PHVuc2lnbmVkIGxvbmc+KGludGVydmFsKSk7CiB9CiAKIHZvaWQgVGhyZWFkQ29uZGl0aW9uOjpz
aWduYWwoKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1dpbi5jcHAg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nV2luLmNwcAppbmRleCAzNjI2YTM3Li44MGE1
YmYzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nV2luLmNwcAorKysg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nV2luLmNwcApAQCAtMzc4LDkgKzM3OCw5IEBA
IHZvaWQgVGhyZWFkQ29uZGl0aW9uOjp3YWl0KE11dGV4JiBtdXRleCkKICAgICA6OkVudGVyQ3Jp
dGljYWxTZWN0aW9uICgmY3MubV9pbnRlcm5hbE11dGV4KTsKIH0KIAotYm9vbCBUaHJlYWRDb25k
aXRpb246OnRpbWVkV2FpdChNdXRleCYgbXV0ZXgsIGRvdWJsZSBpbnRlcnZhbCkKK2Jvb2wgVGhy
ZWFkQ29uZGl0aW9uOjp0aW1lZFdhaXQoTXV0ZXgmIG11dGV4LCBkb3VibGUgYWJzb2x1dGVUaW1l
KQogewotICAgIC8vIEVtcHR5IGZvciBub3cKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50LgogICAg
IEFTU0VSVChmYWxzZSk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQo=
</data>
<flag name="review"
          id="12722"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>26725</attachid>
            <date>2009-01-14 12:18:59 -0800</date>
            <delta_ts>2009-01-14 12:18:59 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>timed2.txt</filename>
            <type>text/plain</type>
            <size>10440</size>
            <attacher name="Dmitry Titov">dimich</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA3M2Q4ZTJlLi5iZmMwYWQ5IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjgg
QEAKKzIwMDktMDEtMTQgIERtaXRyeSBUaXRvdiAgPGRpbWljaEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzEyCisgICAgICAgIEltcGxlbWVudCBNZXNz
YWdlUXVldWU6OndhaXRGb3JNZXNzYWdlVGltZWQoKQorICAgICAgICBBbHNvIGZpeGVkIFRocmVh
ZENvbmRpdGlvbjo6dGltZWRXYWl0KCkgdG8gdGFrZSBhYnNvbHV0ZSB0aW1lLCBhcyBkaXNjdXNz
ZWQgb24gd2Via2l0LWRldi4KKyAgICAgICAgV2luMzIgdmVyc2lvbiBvZiB0aW1lZFdhaXQgc3Rp
bGwgaGFzIHRvIGJlIGltcGxlbWVudGVkLgorCisgICAgICAgICogd3RmL01lc3NhZ2VRdWV1ZS5o
OgorICAgICAgICAoV1RGOjpNZXNzYWdlUXVldWVXYWl0UmVzdWx0OiBuZXcgZW51bSBmb3IgdGhl
IHJlc3VsdCBvZiBNZXNzYWdlUXVldWU6OndhaXRGb3JNZXNzYWdlVGltZWQuCisgICAgICAgIChX
VEY6Ok1lc3NhZ2VRdWV1ZTo6d2FpdEZvck1lc3NhZ2UpOgorICAgICAgICAoV1RGOjpNZXNzYWdl
UXVldWU6OndhaXRGb3JNZXNzYWdlVGltZWQpOiBOZXcgbWV0aG9kLgorICAgICAgICAqIHd0Zi9U
aHJlYWRpbmcuaDoKKyAgICAgICAgKiB3dGYvVGhyZWFkaW5nR3RrLmNwcDoKKyAgICAgICAgKFdU
Rjo6VGhyZWFkQ29uZGl0aW9uOjp0aW1lZFdhaXQpOiBjaGFuZ2VkIHRvIHVzZSBhYnNvbHV0ZSB0
aW1lIGluc3RlYWQgb2YgaW50ZXJ2YWwuCisgICAgICAgICogd3RmL1RocmVhZGluZ05vbmUuY3Bw
OgorICAgICAgICAoV1RGOjpUaHJlYWRDb25kaXRpb246OnRpbWVkV2FpdCk6IGRpdHRvLgorICAg
ICAgICAqIHd0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHA6CisgICAgICAgIChXVEY6OlRocmVhZENv
bmRpdGlvbjo6dGltZWRXYWl0KTogZGl0dG8uCisgICAgICAgICogd3RmL1RocmVhZGluZ1F0LmNw
cDoKKyAgICAgICAgKFdURjo6VGhyZWFkQ29uZGl0aW9uOjp0aW1lZFdhaXQpOiBkaXR0by4KKyAg
ICAgICAgKiB3dGYvVGhyZWFkaW5nV2luLmNwcDoKKyAgICAgICAgKFdURjo6VGhyZWFkQ29uZGl0
aW9uOjp0aW1lZFdhaXQpOiBkaXR0by4gVGhlIGFjdHVhbCBXaW4zMiBjb2RlIGlzIHN0aWxsIHRv
IGJlIGltcGxlbWVudGVkLgorCiAyMDA5LTAxLTEzICBaYWxhbiBCdWp0YXMgIDx6YnVqdGFzQGdt
YWlsLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9N
ZXNzYWdlUXVldWUuaAppbmRleCA0ODEyMTFkLi4xOWM1YzEwIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL01lc3Nh
Z2VRdWV1ZS5oCkBAIC0zNiw2ICszNiwxMiBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAorICAgIGVu
dW0gTWVzc2FnZVF1ZXVlV2FpdFJlc3VsdCB7CisgICAgICAgIE1lc3NhZ2VRdWV1ZVRlcm1pbmF0
ZWQsICAgICAgIC8vIFF1ZXVlIHdhcyBkZXN0cm95ZWQgd2hpbGUgd2FpdGluZyBmb3IgbWVzc2Fn
ZS4KKyAgICAgICAgTWVzc2FnZVF1ZXVlVGltZW91dCwgICAgICAgICAgLy8gVGltZW91dCB3YXMg
c3BlY2lmaWVkIGFuZCBpdCBleHBpcmVkLgorICAgICAgICBNZXNzYWdlUXVldWVNZXNzYWdlUmVj
ZWl2ZWQsICAvLyBBIG1lc3NhZ2Ugd2FzIHN1Y2Nlc3NmdWxseSByZWNlaXZlZCBhbmQgcmV0dXJu
ZWQuCisgICAgfTsKKwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIERhdGFUeXBlPgogICAgIGNsYXNz
IE1lc3NhZ2VRdWV1ZSA6IE5vbmNvcHlhYmxlIHsKICAgICBwdWJsaWM6CkBAIC00NCw2ICs1MCw3
IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICB2b2lkIGFwcGVuZChjb25zdCBEYXRhVHlwZSYp
OwogICAgICAgICB2b2lkIHByZXBlbmQoY29uc3QgRGF0YVR5cGUmKTsKICAgICAgICAgYm9vbCB3
YWl0Rm9yTWVzc2FnZShEYXRhVHlwZSYpOworICAgICAgICBNZXNzYWdlUXVldWVXYWl0UmVzdWx0
IHdhaXRGb3JNZXNzYWdlVGltZWQoRGF0YVR5cGUmLCBkb3VibGUgYWJzb2x1dGVUaW1lKTsKICAg
ICAgICAgdm9pZCBraWxsKCk7CiAKICAgICAgICAgYm9vbCB0cnlHZXRNZXNzYWdlKERhdGFUeXBl
Jik7CkBAIC03OSw3ICs4Niw3IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIGlubGluZSBib29sIE1l
c3NhZ2VRdWV1ZTxEYXRhVHlwZT46OndhaXRGb3JNZXNzYWdlKERhdGFUeXBlJiByZXN1bHQpCiAg
ICAgewogICAgICAgICBNdXRleExvY2tlciBsb2NrKG1fbXV0ZXgpOwotICAgICAgICAKKwogICAg
ICAgICB3aGlsZSAoIW1fa2lsbGVkICYmIG1fcXVldWUuaXNFbXB0eSgpKQogICAgICAgICAgICAg
bV9jb25kaXRpb24ud2FpdChtX211dGV4KTsKIApAQCAtOTMsNiArMTAwLDI3IEBAIG5hbWVzcGFj
ZSBXVEYgewogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIERhdGFUeXBlPgorICAgIGlu
bGluZSBNZXNzYWdlUXVldWVXYWl0UmVzdWx0IE1lc3NhZ2VRdWV1ZTxEYXRhVHlwZT46OndhaXRG
b3JNZXNzYWdlVGltZWQoRGF0YVR5cGUmIHJlc3VsdCwgZG91YmxlIGFic29sdXRlVGltZSkKKyAg
ICB7CisgICAgICAgIE11dGV4TG9ja2VyIGxvY2sobV9tdXRleCk7CisgICAgICAgIGJvb2wgdGlt
ZWRPdXQgPSBmYWxzZTsKKworICAgICAgICB3aGlsZSAoIW1fa2lsbGVkICYmICF0aW1lZE91dCAm
JiBtX3F1ZXVlLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHRpbWVkT3V0ID0gIW1fY29uZGl0aW9u
LnRpbWVkV2FpdChtX211dGV4LCBhYnNvbHV0ZVRpbWUpOworCisgICAgICAgIGlmIChtX2tpbGxl
ZCkKKyAgICAgICAgICAgIHJldHVybiBNZXNzYWdlUXVldWVUZXJtaW5hdGVkOworCisgICAgICAg
IGlmICh0aW1lZE91dCkKKyAgICAgICAgICAgIHJldHVybiBNZXNzYWdlUXVldWVUaW1lb3V0Owor
CisgICAgICAgIEFTU0VSVCghbV9xdWV1ZS5pc0VtcHR5KCkpOworICAgICAgICByZXN1bHQgPSBt
X3F1ZXVlLmZpcnN0KCk7CisgICAgICAgIG1fcXVldWUucmVtb3ZlRmlyc3QoKTsKKyAgICAgICAg
cmV0dXJuIE1lc3NhZ2VRdWV1ZU1lc3NhZ2VSZWNlaXZlZDsKKyAgICB9CisKKyAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBEYXRhVHlwZT4KICAgICBpbmxpbmUgYm9vbCBNZXNzYWdlUXVldWU8RGF0YVR5
cGU+Ojp0cnlHZXRNZXNzYWdlKERhdGFUeXBlJiByZXN1bHQpCiAgICAgewogICAgICAgICBNdXRl
eExvY2tlciBsb2NrKG1fbXV0ZXgpOwpAQCAtMTMyLDUgKzE2MCwxMCBAQCBuYW1lc3BhY2UgV1RG
IHsKIH0KIAogdXNpbmcgV1RGOjpNZXNzYWdlUXVldWU7CisvLyBNZXNzYWdlUXVldWVXYWl0UmVz
dWx0IGVudW0gYW5kIGFsbCBpdHMgdmFsdWVzLgordXNpbmcgV1RGOjpNZXNzYWdlUXVldWVXYWl0
UmVzdWx0OwordXNpbmcgV1RGOjpNZXNzYWdlUXVldWVUZXJtaW5hdGVkOwordXNpbmcgV1RGOjpN
ZXNzYWdlUXVldWVUaW1lb3V0OwordXNpbmcgV1RGOjpNZXNzYWdlUXVldWVNZXNzYWdlUmVjZWl2
ZWQ7CiAKICNlbmRpZiAvLyBNZXNzYWdlUXVldWVfaApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvd3RmL1RocmVhZGluZy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oCmluZGV4
IDE1NjAxM2QuLjFiMTdlZWIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRp
bmcuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKQEAgLTE2Nyw4ICsxNjcs
OSBAQCBwdWJsaWM6CiAgICAgflRocmVhZENvbmRpdGlvbigpOwogICAgIAogICAgIHZvaWQgd2Fp
dChNdXRleCYgbXV0ZXgpOwotICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9uIHdh
cyBzaWduYWxlZCBiZWZvcmUgdGhlIHRpbWVvdXQsIGZhbHNlIGlmIHRoZSB0aW1lb3V0IHdhcyBy
ZWFjaGVkCi0gICAgYm9vbCB0aW1lZFdhaXQoTXV0ZXgmLCBkb3VibGUgaW50ZXJ2YWwpOworICAg
IC8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9uIHdhcyBzaWduYWxlZCBiZWZvcmUgYWJz
b2x1dGVUaW1lLCBmYWxzZSBpZiB0aGUgYWJzb2x1dGVUaW1lIHdhcyByZWFjaGVkIG9yIGlzIGlu
IHRoZSBwYXN0LgorICAgIC8vIFRoZSBhYnNvbHV0ZVRpbWUgaXMgaW4gc2Vjb25kcywgc3RhcnRp
bmcgb24gSmFudWFyeSAxLCAxOTcwLiBUaGUgdGltZSBpcyBhc3N1bWVkIHRvIHVzZSB0aGUgc2Ft
ZSB0aW1lIHpvbmUgYXMgV1RGOjpjdXJyZW50VGltZSgpLgorICAgIGJvb2wgdGltZWRXYWl0KE11
dGV4JiwgZG91YmxlIGFic29sdXRlVGltZSk7CiAgICAgdm9pZCBzaWduYWwoKTsKICAgICB2b2lk
IGJyb2FkY2FzdCgpOwogICAgIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVh
ZGluZ0d0ay5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nR3RrLmNwcAppbmRleCA3
NzdkNTViLi4yNGMzNGNhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5n
R3RrLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nR3RrLmNwcApAQCAtMzIs
MTEgKzMyLDEzIEBACiAKICNpZiAhVVNFKFBUSFJFQURTKQogCisjaW5jbHVkZSAiQ3VycmVudFRp
bWUuaCIKICNpbmNsdWRlICJIYXNoTWFwLmgiCiAjaW5jbHVkZSAiTWFpblRocmVhZC5oIgogI2lu
Y2x1ZGUgIlJhbmRvbU51bWJlclNlZWQuaCIKIAogI2luY2x1ZGUgPGdsaWIuaD4KKyNpbmNsdWRl
IDxsaW1pdHMuaD4KIAogbmFtZXNwYWNlIFdURiB7CiAKQEAgLTIwNSwyNSArMjA3LDI0IEBAIHZv
aWQgVGhyZWFkQ29uZGl0aW9uOjp3YWl0KE11dGV4JiBtdXRleCkKICAgICBnX2NvbmRfd2FpdCht
X2NvbmRpdGlvbi5nZXQoKSwgbXV0ZXguaW1wbCgpLmdldCgpKTsKIH0KIAotYm9vbCBUaHJlYWRD
b25kaXRpb246OnRpbWVkV2FpdChNdXRleCYgbXV0ZXgsIGRvdWJsZSBpbnRlcnZhbCkKK2Jvb2wg
VGhyZWFkQ29uZGl0aW9uOjp0aW1lZFdhaXQoTXV0ZXgmIG11dGV4LCBkb3VibGUgYWJzb2x1dGVU
aW1lKQogewotICAgIGlmIChpbnRlcnZhbCA8IDAuMCkgeworICAgIC8vIFRpbWUgaXMgaW4gdGhl
IHBhc3QgLSByZXR1cm4gcmlnaHQgYXdheS4KKyAgICBpZiAoYWJzb2x1dGVUaW1lIDwgY3VycmVu
dFRpbWUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIAorICAgIC8vIFRpbWUgaXMgdG9v
IGZhciBpbiB0aGUgZnV0dXJlIGZvciBnX2NvbmRfdGltZWRfd2FpdCAtIHdhaXQgZm9yZXZlci4K
KyAgICBpZiAoYWJzb2x1dGVUaW1lID4gSU5UX01BWCkgewogICAgICAgICB3YWl0KG11dGV4KTsK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQotICAgIAotICAgIGludCBpbnRlcnZhbFNlY29u
ZHMgPSBzdGF0aWNfY2FzdDxpbnQ+KGludGVydmFsKTsKLSAgICBpbnQgaW50ZXJ2YWxNaWNyb3Nl
Y29uZHMgPSBzdGF0aWNfY2FzdDxpbnQ+KChpbnRlcnZhbCAtIGludGVydmFsU2Vjb25kcykgKiAx
MDAwMDAwLjApOworCisgICAgaW50IHRpbWVTZWNvbmRzID0gc3RhdGljX2Nhc3Q8aW50PihhYnNv
bHV0ZVRpbWUpOworICAgIGludCB0aW1lTWljcm9zZWNvbmRzID0gc3RhdGljX2Nhc3Q8aW50Pigo
YWJzb2x1dGVUaW1lIC0gdGltZVNlY29uZHMpICogMTAwMDAwMC4wKTsKICAgICAKICAgICBHVGlt
ZVZhbCB0YXJnZXRUaW1lOwotICAgIGdfZ2V0X2N1cnJlbnRfdGltZSgmdGFyZ2V0VGltZSk7Ci0g
ICAgICAgIAotICAgIHRhcmdldFRpbWUudHZfc2VjICs9IGludGVydmFsU2Vjb25kczsKLSAgICB0
YXJnZXRUaW1lLnR2X3VzZWMgKz0gaW50ZXJ2YWxNaWNyb3NlY29uZHM7Ci0gICAgaWYgKHRhcmdl
dFRpbWUudHZfdXNlYyA+IDEwMDAwMDApIHsKLSAgICAgICAgdGFyZ2V0VGltZS50dl91c2VjIC09
IDEwMDAwMDA7Ci0gICAgICAgIHRhcmdldFRpbWUudHZfc2VjKys7Ci0gICAgfQorICAgIHRhcmdl
dFRpbWUudHZfc2VjID0gdGltZVNlY29uZHM7CisgICAgdGFyZ2V0VGltZS50dl91c2VjID0gdGlt
ZU1pY3Jvc2Vjb25kczsKIAogICAgIHJldHVybiBnX2NvbmRfdGltZWRfd2FpdChtX2NvbmRpdGlv
bi5nZXQoKSwgbXV0ZXguaW1wbCgpLmdldCgpLCAmdGFyZ2V0VGltZSk7CiB9CmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nTm9uZS5jcHAgYi9KYXZhU2NyaXB0Q29yZS93
dGYvVGhyZWFkaW5nTm9uZS5jcHAKaW5kZXggODMyY2QwYy4uMGJlMmE0YiAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ05vbmUuY3BwCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi9UaHJlYWRpbmdOb25lLmNwcApAQCAtNDgsNyArNDgsNyBAQCB2b2lkIE11dGV4Ojp1bmxv
Y2soKSB7IH0KIFRocmVhZENvbmRpdGlvbjo6VGhyZWFkQ29uZGl0aW9uKCkgeyB9CiBUaHJlYWRD
b25kaXRpb246On5UaHJlYWRDb25kaXRpb24oKSB7IH0KIHZvaWQgVGhyZWFkQ29uZGl0aW9uOjp3
YWl0KE11dGV4JiBtdXRleCkgeyB9Ci1ib29sIFRocmVhZENvbmRpdGlvbjo6dGltZWRXYWl0KE11
dGV4JiBtdXRleCwgZG91YmxlIGludGVydmFsKSB7IHJldHVybiBmYWxzZTsgfQorYm9vbCBUaHJl
YWRDb25kaXRpb246OnRpbWVkV2FpdChNdXRleCYgbXV0ZXgsIGRvdWJsZSBhYnNvbHV0ZVRpbWUp
IHsgcmV0dXJuIGZhbHNlOyB9CiB2b2lkIFRocmVhZENvbmRpdGlvbjo6c2lnbmFsKCkgeyB9CiB2
b2lkIFRocmVhZENvbmRpdGlvbjo6YnJvYWRjYXN0KCkgeyB9CiAKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYv
VGhyZWFkaW5nUHRocmVhZHMuY3BwCmluZGV4IGYxMTFmY2YuLmVkMTAyZTUgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHAKKysrIGIvSmF2YVNjcmlw
dENvcmUvd3RmL1RocmVhZGluZ1B0aHJlYWRzLmNwcApAQCAtMzMsNiArMzMsNyBAQAogCiAjaWYg
VVNFKFBUSFJFQURTKQogCisjaW5jbHVkZSAiQ3VycmVudFRpbWUuaCIKICNpbmNsdWRlICJIYXNo
TWFwLmgiCiAjaW5jbHVkZSAiTWFpblRocmVhZC5oIgogI2luY2x1ZGUgIlJhbmRvbU51bWJlclNl
ZWQuaCIKQEAgLTIzMiwyOCArMjMzLDIyIEBAIHZvaWQgVGhyZWFkQ29uZGl0aW9uOjp3YWl0KE11
dGV4JiBtdXRleCkKICAgICAgICAgQVNTRVJUKGZhbHNlKTsKIH0KIAotYm9vbCBUaHJlYWRDb25k
aXRpb246OnRpbWVkV2FpdChNdXRleCYgbXV0ZXgsIGRvdWJsZSBzZWNvbmRzVG9XYWl0KQorYm9v
bCBUaHJlYWRDb25kaXRpb246OnRpbWVkV2FpdChNdXRleCYgbXV0ZXgsIGRvdWJsZSBhYnNvbHV0
ZVRpbWUpCiB7Ci0gICAgaWYgKHNlY29uZHNUb1dhaXQgPCAwLjApIHsKKyAgICBpZiAoYWJzb2x1
dGVUaW1lIDwgY3VycmVudFRpbWUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYg
KGFic29sdXRlVGltZSA+IElOVF9NQVgpIHsKICAgICAgICAgd2FpdChtdXRleCk7CiAgICAgICAg
IHJldHVybiB0cnVlOwogICAgIH0KIAotICAgIGludCBpbnRlcnZhbFNlY29uZHMgPSBzdGF0aWNf
Y2FzdDxpbnQ+KHNlY29uZHNUb1dhaXQpOwotICAgIGludCBpbnRlcnZhbE1pY3Jvc2Vjb25kcyA9
IHN0YXRpY19jYXN0PGludD4oKHNlY29uZHNUb1dhaXQgLSBpbnRlcnZhbFNlY29uZHMpICogMTAw
MDAwMC4wKTsKKyAgICBpbnQgdGltZVNlY29uZHMgPSBzdGF0aWNfY2FzdDxpbnQ+KGFic29sdXRl
VGltZSk7CisgICAgaW50IHRpbWVOYW5vc2Vjb25kcyA9IHN0YXRpY19jYXN0PGludD4oKGFic29s
dXRlVGltZSAtIHRpbWVTZWNvbmRzKSAqIDFFOSk7CiAKLSAgICAvLyBDdXJyZW50IHRpbWUgY29t
ZXMgaW4gc2VjL21pY3Jvc2VjCi0gICAgdGltZXZhbCBjdXJyZW50VGltZTsKLSAgICBnZXR0aW1l
b2ZkYXkoJmN1cnJlbnRUaW1lLCBOVUxMKTsKLQotICAgIC8vIFRhcmdldCB0aW1lIGNvbWVzIGlu
IHNlYy9uYW5vc2VjCiAgICAgdGltZXNwZWMgdGFyZ2V0VGltZTsKLSAgICB0YXJnZXRUaW1lLnR2
X3NlYyA9IGN1cnJlbnRUaW1lLnR2X3NlYyArIGludGVydmFsU2Vjb25kczsKLSAgICB0YXJnZXRU
aW1lLnR2X25zZWMgPSAoY3VycmVudFRpbWUudHZfdXNlYyArIGludGVydmFsTWljcm9zZWNvbmRz
KSAqIDEwMDA7Ci0gICAgaWYgKHRhcmdldFRpbWUudHZfbnNlYyA+IDEwMDAwMDAwMDApIHsKLSAg
ICAgICAgdGFyZ2V0VGltZS50dl9uc2VjIC09IDEwMDAwMDAwMDA7Ci0gICAgICAgIHRhcmdldFRp
bWUudHZfc2VjKys7Ci0gICAgfQorICAgIHRhcmdldFRpbWUudHZfc2VjID0gdGltZVNlY29uZHM7
CisgICAgdGFyZ2V0VGltZS50dl9uc2VjID0gdGltZU5hbm9zZWNvbmRzOwogCiAgICAgcmV0dXJu
IHB0aHJlYWRfY29uZF90aW1lZHdhaXQoJm1fY29uZGl0aW9uLCAmbXV0ZXguaW1wbCgpLCAmdGFy
Z2V0VGltZSkgPT0gMDsKIH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRp
bmdRdC5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUXQuY3BwCmluZGV4IDAzMDlm
MmIuLmViNDVlNTcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdRdC5j
cHAKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1F0LmNwcApAQCAtMjksNiArMjks
NyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlRocmVhZGluZy5oIgogCisjaW5j
bHVkZSAiQ3VycmVudFRpbWUuaCIKICNpbmNsdWRlICJIYXNoTWFwLmgiCiAjaW5jbHVkZSAiTWFp
blRocmVhZC5oIgogI2luY2x1ZGUgIlJhbmRvbU51bWJlclNlZWQuaCIKQEAgLTIzMywxNSArMjM0
LDIwIEBAIHZvaWQgVGhyZWFkQ29uZGl0aW9uOjp3YWl0KE11dGV4JiBtdXRleCkKICAgICBtX2Nv
bmRpdGlvbi0+d2FpdChtdXRleC5pbXBsKCkpOwogfQogCi1ib29sIFRocmVhZENvbmRpdGlvbjo6
dGltZWRXYWl0KE11dGV4JiBtdXRleCwgZG91YmxlIHNlY29uZHNUb1dhaXQpCitib29sIFRocmVh
ZENvbmRpdGlvbjo6dGltZWRXYWl0KE11dGV4JiBtdXRleCwgZG91YmxlIGFic29sdXRlVGltZSkK
IHsKLSAgICBpZiAoc2Vjb25kc1RvV2FpdCA8IDAuMCkgewotICAgICAgICB3YWl0KG11dGV4KTsK
LSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQorICAgIGRvdWJsZSBjdXJyZW50VGltZSA9IFdU
Rjo6Y3VycmVudFRpbWUoKTsKKworICAgIC8vIFRpbWUgaXMgaW4gdGhlIHBhc3QgLSByZXR1cm4g
aW1tZWRpYXRlbHkuCisgICAgaWYgKGFic29sdXRlVGltZSA8IGN1cnJlbnRUaW1lKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBkb3VibGUgaW50ZXJ2YWxNaWxsaXNlY29uZHMgPSAoYWJz
b2x1dGVUaW1lIC0gY3VycmVudFRpbWUpICogMTAwMC4wOworICAgIC8vIFF0IGRlZmluZXMgd2Fp
dCBmb3IgdXAgdG8gVUxPTkdfTUFYIG1pbGxpc2Vjb25kcy4KKyAgICBpZiAoaW50ZXJ2YWwgPj0g
VUxPTkdfTUFYKQorICAgICAgICBpbnRlcnZhbCA9IFVMT05HX01BWDsKIAotICAgIHVuc2lnbmVk
IGxvbmcgbWlsbGlzZWNvbmRzVG9XYWl0ID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4oc2Vj
b25kc1RvV2FpdCAqIDEwMDAuMCk7Ci0gICAgcmV0dXJuIG1fY29uZGl0aW9uLT53YWl0KG11dGV4
LmltcGwoKSwgbWlsbGlzZWNvbmRzVG9XYWl0KTsKKyAgICByZXR1cm4gbV9jb25kaXRpb24tPndh
aXQobXV0ZXguaW1wbCgpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nPihpbnRlcnZhbCkpOwog
fQogCiB2b2lkIFRocmVhZENvbmRpdGlvbjo6c2lnbmFsKCkKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9UaHJlYWRpbmdXaW4uY3BwIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGlu
Z1dpbi5jcHAKaW5kZXggMzYyNmEzNy4uODBhNWJmMyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvd3RmL1RocmVhZGluZ1dpbi5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGlu
Z1dpbi5jcHAKQEAgLTM3OCw5ICszNzgsOSBAQCB2b2lkIFRocmVhZENvbmRpdGlvbjo6d2FpdChN
dXRleCYgbXV0ZXgpCiAgICAgOjpFbnRlckNyaXRpY2FsU2VjdGlvbiAoJmNzLm1faW50ZXJuYWxN
dXRleCk7CiB9CiAKLWJvb2wgVGhyZWFkQ29uZGl0aW9uOjp0aW1lZFdhaXQoTXV0ZXgmIG11dGV4
LCBkb3VibGUgaW50ZXJ2YWwpCitib29sIFRocmVhZENvbmRpdGlvbjo6dGltZWRXYWl0KE11dGV4
JiBtdXRleCwgZG91YmxlIGFic29sdXRlVGltZSkKIHsKLSAgICAvLyBFbXB0eSBmb3Igbm93Cisg
ICAgLy8gRklYTUU6IEltcGxlbWVudC4KICAgICBBU1NFUlQoZmFsc2UpOwogICAgIHJldHVybiBm
YWxzZTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>