<?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>57434</bug_id>
          
          <creation_ts>2011-03-30 02:18:36 -0700</creation_ts>
          <short_desc>[GTK] Implement scheduleWorkAfterDelay() in WorkQueueGtk</short_desc>
          <delta_ts>2011-04-08 03:17:48 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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>57540</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>mrobinson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>376144</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-03-30 02:18:36 -0700</bug_when>
    <thetext>WorkQueue::scheduleWorkAfterDelay() is currently unimplemented, the code would be similar to WorkQueue::scheduleWork().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376146</commentid>
    <comment_count>1</comment_count>
      <attachid>87487</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-03-30 02:28:25 -0700</bug_when>
    <thetext>Created attachment 87487
Patch

- Implement scheduleWorkAfterDelay() using a timeout source
- Use an idle source instead of a timeout one with 0 for scheduleWork()
- Don&apos;t use a lock for g_source_attach() since it uses its own mutex internally
- Don&apos;t leak the GSource, g_source_attach() increments the source reference counter
- Use a GSocket instead of GIOChannel
- Factor out performWork() and performWorkOnce() to avoid duplicated code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376406</commentid>
    <comment_count>2</comment_count>
      <attachid>87487</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-03-30 09:51:10 -0700</bug_when>
    <thetext>Comment on attachment 87487
Patch

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

Great patch. I&apos;d r+ it except for the missing ChangeLog information.

&gt; Source/WebKit2/ChangeLog:19
&gt; +        * Platform/gtk/WorkQueueGtk.cpp:
&gt; +        (WorkQueue::EventSource::executeEventSource):
&gt; +        (WorkQueue::EventSource::performWorkOnce):
&gt; +        (WorkQueue::EventSource::performWork):
&gt; +        (WorkQueue::workQueueThreadBody):
&gt; +        (WorkQueue::registerEventSourceHandler):
&gt; +        (WorkQueue::unregisterEventSourceHandler):
&gt; +        (WorkQueue::scheduleWorkOnSource):
&gt; +        (WorkQueue::scheduleWork):

You should fill these out.

&gt; Source/WebKit2/Platform/gtk/WorkQueueGtk.cpp:139
&gt;  {
&gt; -    GIOChannel* channel = g_io_channel_unix_new(fileDescriptor);
&gt; -    ASSERT(channel);
&gt; -    GSource* dispatchSource = g_io_create_watch(channel, static_cast&lt;GIOCondition&gt;(condition));
&gt; +    GRefPtr&lt;GSocket&gt; socket = adoptGRef(g_socket_new_from_fd(fileDescriptor, 0));
&gt; +    ASSERT(socket);
&gt; +    GSource* dispatchSource = g_socket_create_source(socket.get(), static_cast&lt;GIOCondition&gt;(condition), 0);

For instance here in the ChangeLog it would be useful to explain why a GSocket is preferred to a GIOChannel.

&gt; Source/WebKit2/Platform/gtk/WorkQueueGtk.cpp:195
&gt; +    GRefPtr&lt;GSource&gt; dispatchSource = adoptGRef(g_idle_source_new());

In the past we&apos;ve had issues with starvation of sources created with g_idle_add. We might want to stick with a timeout source here. Gustavo has more information about this, I believe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376422</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-03-30 09:58:58 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 87487 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=87487&amp;action=review
&gt; 
&gt; Great patch. I&apos;d r+ it except for the missing ChangeLog information.
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:19
&gt; &gt; +        * Platform/gtk/WorkQueueGtk.cpp:
&gt; &gt; +        (WorkQueue::EventSource::executeEventSource):
&gt; &gt; +        (WorkQueue::EventSource::performWorkOnce):
&gt; &gt; +        (WorkQueue::EventSource::performWork):
&gt; &gt; +        (WorkQueue::workQueueThreadBody):
&gt; &gt; +        (WorkQueue::registerEventSourceHandler):
&gt; &gt; +        (WorkQueue::unregisterEventSourceHandler):
&gt; &gt; +        (WorkQueue::scheduleWorkOnSource):
&gt; &gt; +        (WorkQueue::scheduleWork):
&gt; 
&gt; You should fill these out.

Ok, I did it too fast.

&gt; &gt; Source/WebKit2/Platform/gtk/WorkQueueGtk.cpp:139
&gt; &gt;  {
&gt; &gt; -    GIOChannel* channel = g_io_channel_unix_new(fileDescriptor);
&gt; &gt; -    ASSERT(channel);
&gt; &gt; -    GSource* dispatchSource = g_io_create_watch(channel, static_cast&lt;GIOCondition&gt;(condition));
&gt; &gt; +    GRefPtr&lt;GSocket&gt; socket = adoptGRef(g_socket_new_from_fd(fileDescriptor, 0));
&gt; &gt; +    ASSERT(socket);
&gt; &gt; +    GSource* dispatchSource = g_socket_create_source(socket.get(), static_cast&lt;GIOCondition&gt;(condition), 0);
&gt; 
&gt; For instance here in the ChangeLog it would be useful to explain why a GSocket is preferred to a GIOChannel.

GSocket api is newer and allow passing a cancellable to the source, so that we can cacel the source from any thread. I have a patch on top of this one that implements also void WorkQueue::scheduleWorkOnTermination() and uses a cancellable to cancel the source when the webprocess dies.

&gt; &gt; Source/WebKit2/Platform/gtk/WorkQueueGtk.cpp:195
&gt; &gt; +    GRefPtr&lt;GSource&gt; dispatchSource = adoptGRef(g_idle_source_new());
&gt; 
&gt; In the past we&apos;ve had issues with starvation of sources created with g_idle_add. We might want to stick with a timeout source here. Gustavo has more information about this, I believe.

I change the priority to avoid issues, I think that a timeout source with 0 it&apos;s mostly the same than an idle source with a default priority, but I&apos;m not sure. I haven&apos;t seen any problems in my tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377046</commentid>
    <comment_count>4</comment_count>
      <attachid>87694</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-03-31 04:10:45 -0700</bug_when>
    <thetext>Created attachment 87694
Updated patch

Updated patch that includes the changes needed in WorkQueue.h, that I forgot to add in previous patch, and more verbose changelog as requested by Martin.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377248</commentid>
    <comment_count>5</comment_count>
      <attachid>87694</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-03-31 09:40:45 -0700</bug_when>
    <thetext>Comment on attachment 87694
Updated patch

Excellent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382117</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-04-08 03:17:24 -0700</bug_when>
    <thetext>Committed r83278: &lt;http://trac.webkit.org/changeset/83278&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87487</attachid>
            <date>2011-03-30 02:28:25 -0700</date>
            <delta_ts>2011-03-31 04:10:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>webkit2-work-queue.diff</filename>
            <type>text/plain</type>
            <size>5929</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA3MTBhYzM2Li5mMjY5MTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMTEtMDMtMzAgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtHVEtd
IEltcGxlbWVudCBzY2hlZHVsZVdvcmtBZnRlckRlbGF5KCkgaW4gV29ya1F1ZXVlR3RrCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzQzNAorCisgICAg
ICAgIFNldmVyYWwgaW1wcm92ZW1lbnRzIGFuZCBjb2RlIGNsZWFudXAgaW4gYWRkaXRpb24gdG8g
dGhlCisgICAgICAgIHNjaGVkdWxlV29ya0FmdGVyRGVsYXkoKSBpbXBsZW1lbnRhdGlvbi4KKwor
ICAgICAgICAqIFBsYXRmb3JtL2d0ay9Xb3JrUXVldWVHdGsuY3BwOgorICAgICAgICAoV29ya1F1
ZXVlOjpFdmVudFNvdXJjZTo6ZXhlY3V0ZUV2ZW50U291cmNlKToKKyAgICAgICAgKFdvcmtRdWV1
ZTo6RXZlbnRTb3VyY2U6OnBlcmZvcm1Xb3JrT25jZSk6CisgICAgICAgIChXb3JrUXVldWU6OkV2
ZW50U291cmNlOjpwZXJmb3JtV29yayk6CisgICAgICAgIChXb3JrUXVldWU6OndvcmtRdWV1ZVRo
cmVhZEJvZHkpOgorICAgICAgICAoV29ya1F1ZXVlOjpyZWdpc3RlckV2ZW50U291cmNlSGFuZGxl
cik6CisgICAgICAgIChXb3JrUXVldWU6OnVucmVnaXN0ZXJFdmVudFNvdXJjZUhhbmRsZXIpOgor
ICAgICAgICAoV29ya1F1ZXVlOjpzY2hlZHVsZVdvcmtPblNvdXJjZSk6CisgICAgICAgIChXb3Jr
UXVldWU6OnNjaGVkdWxlV29yayk6CisKIDIwMTEtMDMtMjUgIEFsZWphbmRybyBHLiBDYXN0cm8g
IDxhbGV4QGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29u
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vZ3RrL1dvcmtRdWV1ZUd0ay5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9ndGsvV29ya1F1ZXVlR3RrLmNwcAppbmRleCBk
YmUzOGJkLi5mODQ0YmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9ndGsv
V29ya1F1ZXVlR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9ndGsvV29ya1F1
ZXVlR3RrLmNwcApAQCAtMjksNyArMjksOSBAQAogCiAjaW5jbHVkZSAiV0tCYXNlLmgiCiAjaW5j
bHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgorI2luY2x1ZGUgPGdpby9naW8uaD4KICNp
bmNsdWRlIDxnbGliLmg+CisjaW5jbHVkZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5oPgogCiAvLyBX
b3JrUXVldWU6OkV2ZW50U291cmNlCiBjbGFzcyBXb3JrUXVldWU6OkV2ZW50U291cmNlIHsKQEAg
LTQzLDcgKzQ1LDcgQEAgcHVibGljOgogCiAgICAgR1NvdXJjZSogZGlzcGF0Y2hTb3VyY2UoKSB7
IHJldHVybiBtX2Rpc3BhdGNoU291cmNlOyB9CiAKLSAgICBzdGF0aWMgZ2Jvb2xlYW4gcGVyZm9y
bVdvcmtPbmNlKEV2ZW50U291cmNlKiBldmVudFNvdXJjZSkKKyAgICBzdGF0aWMgZ2Jvb2xlYW4g
ZXhlY3V0ZUV2ZW50U291cmNlKEV2ZW50U291cmNlKiBldmVudFNvdXJjZSkKICAgICB7CiAgICAg
ICAgIEFTU0VSVChldmVudFNvdXJjZSk7CiAgICAgICAgIFdvcmtRdWV1ZSogcXVldWUgPSBldmVu
dFNvdXJjZS0+bV93b3JrUXVldWU7CkBAIC01NCwzMSArNTYsMzEgQEAgcHVibGljOgogICAgICAg
ICB9CiAKICAgICAgICAgZXZlbnRTb3VyY2UtPm1fd29ya0l0ZW0tPmV4ZWN1dGUoKTsKLSAgICAg
ICAgcmV0dXJuIEZBTFNFOworCisgICAgICAgIHJldHVybiBUUlVFOwogICAgIH0KIAotICAgIHN0
YXRpYyBnYm9vbGVhbiBwZXJmb3JtV29yayhHSU9DaGFubmVsKiBjaGFubmVsLCBHSU9Db25kaXRp
b24gY29uZGl0aW9uLCBFdmVudFNvdXJjZSogZXZlbnRTb3VyY2UpIAorICAgIHN0YXRpYyBnYm9v
bGVhbiBwZXJmb3JtV29ya09uY2UoRXZlbnRTb3VyY2UqIGV2ZW50U291cmNlKQogICAgIHsKLSAg
ICAgICAgQVNTRVJUKGV2ZW50U291cmNlKTsKKyAgICAgICAgZXhlY3V0ZUV2ZW50U291cmNlKGV2
ZW50U291cmNlKTsKKyAgICAgICAgcmV0dXJuIEZBTFNFOworICAgIH0KIAorICAgIHN0YXRpYyBn
Ym9vbGVhbiBwZXJmb3JtV29yayhHU29ja2V0KiBzb2NrZXQsIEdJT0NvbmRpdGlvbiBjb25kaXRp
b24sIEV2ZW50U291cmNlKiBldmVudFNvdXJjZSkKKyAgICB7CiAgICAgICAgIGlmICghKGNvbmRp
dGlvbiAmIEdfSU9fSU4pICYmICEoY29uZGl0aW9uICYgR19JT19IVVApICYmICEoY29uZGl0aW9u
ICYgR19JT19FUlIpKQogICAgICAgICAgICAgcmV0dXJuIEZBTFNFOwogCi0gICAgICAgIFdvcmtR
dWV1ZSogcXVldWUgPSBldmVudFNvdXJjZS0+bV93b3JrUXVldWU7Ci0gICAgICAgIHsKLSAgICAg
ICAgICAgIE11dGV4TG9ja2VyIGxvY2tlcihxdWV1ZS0+bV9pc1ZhbGlkTXV0ZXgpOwotICAgICAg
ICAgICAgaWYgKCFxdWV1ZS0+bV9pc1ZhbGlkKQotICAgICAgICAgICAgICAgIHJldHVybiBGQUxT
RTsKLSAgICAgICAgfQogCi0gICAgICAgIGV2ZW50U291cmNlLT5tX3dvcmtJdGVtLT5leGVjdXRl
KCk7CisgICAgICAgIGlmICghZXhlY3V0ZUV2ZW50U291cmNlKGV2ZW50U291cmNlKSkKKyAgICAg
ICAgICAgIHJldHVybiBGQUxTRTsKIAogICAgICAgICBpZiAoKGNvbmRpdGlvbiAmIEdfSU9fSFVQ
KSB8fCAoY29uZGl0aW9uICYgR19JT19FUlIpKQogICAgICAgICAgICAgcmV0dXJuIEZBTFNFOwog
CiAgICAgICAgIHJldHVybiBUUlVFOwogICAgIH0KLSAgICAKKwogICAgIHN0YXRpYyB2b2lkIGRl
bGV0ZUV2ZW50U291cmNlKEV2ZW50U291cmNlKiBldmVudFNvdXJjZSkgCiAgICAgewogICAgICAg
ICBBU1NFUlQoZXZlbnRTb3VyY2UpOwpAQCAtMTMyLDkgKzEzNCw5IEBAIHZvaWQgV29ya1F1ZXVl
Ojp3b3JrUXVldWVUaHJlYWRCb2R5KCkKIAogdm9pZCBXb3JrUXVldWU6OnJlZ2lzdGVyRXZlbnRT
b3VyY2VIYW5kbGVyKGludCBmaWxlRGVzY3JpcHRvciwgaW50IGNvbmRpdGlvbiwgUGFzc093blB0
cjxXb3JrSXRlbT4gaXRlbSkKIHsKLSAgICBHSU9DaGFubmVsKiBjaGFubmVsID0gZ19pb19jaGFu
bmVsX3VuaXhfbmV3KGZpbGVEZXNjcmlwdG9yKTsKLSAgICBBU1NFUlQoY2hhbm5lbCk7Ci0gICAg
R1NvdXJjZSogZGlzcGF0Y2hTb3VyY2UgPSBnX2lvX2NyZWF0ZV93YXRjaChjaGFubmVsLCBzdGF0
aWNfY2FzdDxHSU9Db25kaXRpb24+KGNvbmRpdGlvbikpOworICAgIEdSZWZQdHI8R1NvY2tldD4g
c29ja2V0ID0gYWRvcHRHUmVmKGdfc29ja2V0X25ld19mcm9tX2ZkKGZpbGVEZXNjcmlwdG9yLCAw
KSk7CisgICAgQVNTRVJUKHNvY2tldCk7CisgICAgR1NvdXJjZSogZGlzcGF0Y2hTb3VyY2UgPSBn
X3NvY2tldF9jcmVhdGVfc291cmNlKHNvY2tldC5nZXQoKSwgc3RhdGljX2Nhc3Q8R0lPQ29uZGl0
aW9uPihjb25kaXRpb24pLCAwKTsKICAgICBBU1NFUlQoZGlzcGF0Y2hTb3VyY2UpOwogICAgIEV2
ZW50U291cmNlKiBldmVudFNvdXJjZSA9IG5ldyBFdmVudFNvdXJjZShkaXNwYXRjaFNvdXJjZSwg
aXRlbSwgdGhpcyk7CiAgICAgQVNTRVJUKGV2ZW50U291cmNlKTsKQEAgLTE1NCwxMSArMTU2LDcg
QEAgdm9pZCBXb3JrUXVldWU6OnJlZ2lzdGVyRXZlbnRTb3VyY2VIYW5kbGVyKGludCBmaWxlRGVz
Y3JpcHRvciwgaW50IGNvbmRpdGlvbiwgUGEKICAgICAgICAgbV9ldmVudFNvdXJjZXMuc2V0KGZp
bGVEZXNjcmlwdG9yLCBzb3VyY2VzKTsKICAgICB9CiAKLSAgICAvLyBBdHRhY2ggdGhlIGV2ZW50
IHNvdXJjZSB0byB0aGUgR01haW5Db250ZXh0IHVuZGVyIHRoZSBtdXRleCBzaW5jZSB0aGlzIGlz
IHNoYXJlZCBhY3Jvc3MgbXVsdGlwbGUgdGhyZWFkcy4KLSAgICB7Ci0gICAgICAgIE11dGV4TG9j
a2VyIGxvY2tlcihtX2V2ZW50TG9vcExvY2spOwotICAgICAgICBnX3NvdXJjZV9hdHRhY2goZGlz
cGF0Y2hTb3VyY2UsIG1fZXZlbnRDb250ZXh0KTsKLSAgICB9CisgICAgZ19zb3VyY2VfYXR0YWNo
KGRpc3BhdGNoU291cmNlLCBtX2V2ZW50Q29udGV4dCk7CiB9CiAKIHZvaWQgV29ya1F1ZXVlOjp1
bnJlZ2lzdGVyRXZlbnRTb3VyY2VIYW5kbGVyKGludCBmaWxlRGVzY3JpcHRvcikKQEAgLTE4MCwy
MyArMTc4LDMyIEBAIHZvaWQgV29ya1F1ZXVlOjp1bnJlZ2lzdGVyRXZlbnRTb3VyY2VIYW5kbGVy
KGludCBmaWxlRGVzY3JpcHRvcikKICAgICB9CiB9CiAKLXZvaWQgV29ya1F1ZXVlOjpzY2hlZHVs
ZVdvcmsoUGFzc093blB0cjxXb3JrSXRlbT4gaXRlbSkKK3ZvaWQgV29ya1F1ZXVlOjpzY2hlZHVs
ZVdvcmtPblNvdXJjZShHU291cmNlKiBkaXNwYXRjaFNvdXJjZSwgUGFzc093blB0cjxXb3JrSXRl
bT4gaXRlbSkKIHsKLSAgICBHU291cmNlKiBkaXNwYXRjaFNvdXJjZSA9IGdfdGltZW91dF9zb3Vy
Y2VfbmV3KDApOwotICAgIEFTU0VSVChkaXNwYXRjaFNvdXJjZSk7CiAgICAgRXZlbnRTb3VyY2Uq
IGV2ZW50U291cmNlID0gbmV3IEV2ZW50U291cmNlKGRpc3BhdGNoU291cmNlLCBpdGVtLCB0aGlz
KTsKLSAgICAKLSAgICBnX3NvdXJjZV9zZXRfY2FsbGJhY2soZGlzcGF0Y2hTb3VyY2UsIAotICAg
ICAgICAgICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PEdTb3VyY2VGdW5jPigmV29y
a1F1ZXVlOjpFdmVudFNvdXJjZTo6cGVyZm9ybVdvcmtPbmNlKSwgCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgIGV2ZW50U291cmNlLCAKKworICAgIGdfc291cmNlX3NldF9jYWxsYmFjayhkaXNw
YXRjaFNvdXJjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxH
U291cmNlRnVuYz4oJldvcmtRdWV1ZTo6RXZlbnRTb3VyY2U6OnBlcmZvcm1Xb3JrT25jZSksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50U291cmNlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICByZWludGVycHJldF9jYXN0PEdEZXN0cm95Tm90aWZ5PigmV29ya1F1ZXVlOjpFdmVu
dFNvdXJjZTo6ZGVsZXRlRXZlbnRTb3VyY2UpKTsKLSAgICB7Ci0gICAgICAgIE11dGV4TG9ja2Vy
IGxvY2tlcihtX2V2ZW50TG9vcExvY2spOwotICAgICAgICBnX3NvdXJjZV9hdHRhY2goZGlzcGF0
Y2hTb3VyY2UsIG1fZXZlbnRDb250ZXh0KTsKLSAgICB9CisKKyAgICBnX3NvdXJjZV9hdHRhY2go
ZGlzcGF0Y2hTb3VyY2UsIG1fZXZlbnRDb250ZXh0KTsKIH0KIAotdm9pZCBXb3JrUXVldWU6OnNj
aGVkdWxlV29ya0FmdGVyRGVsYXkoUGFzc093blB0cjxXb3JrSXRlbT4sIGRvdWJsZSkKK3ZvaWQg
V29ya1F1ZXVlOjpzY2hlZHVsZVdvcmsoUGFzc093blB0cjxXb3JrSXRlbT4gaXRlbSkKIHsKLSAg
ICBub3RJbXBsZW1lbnRlZCgpOworICAgIEdSZWZQdHI8R1NvdXJjZT4gZGlzcGF0Y2hTb3VyY2Ug
PSBhZG9wdEdSZWYoZ19pZGxlX3NvdXJjZV9uZXcoKSk7CisgICAgQVNTRVJUKGRpc3BhdGNoU291
cmNlKTsKKyAgICBnX3NvdXJjZV9zZXRfcHJpb3JpdHkoZGlzcGF0Y2hTb3VyY2UuZ2V0KCksIEdf
UFJJT1JJVFlfREVGQVVMVCk7CisKKyAgICBzY2hlZHVsZVdvcmtPblNvdXJjZShkaXNwYXRjaFNv
dXJjZS5nZXQoKSwgaXRlbSk7CiB9CisKK3ZvaWQgV29ya1F1ZXVlOjpzY2hlZHVsZVdvcmtBZnRl
ckRlbGF5KFBhc3NPd25QdHI8V29ya0l0ZW0+IGl0ZW0sIGRvdWJsZSBkZWxheSkKK3sKKyAgICBH
UmVmUHRyPEdTb3VyY2U+IGRpc3BhdGNoU291cmNlID0gYWRvcHRHUmVmKGdfdGltZW91dF9zb3Vy
Y2VfbmV3X3NlY29uZHMoZGVsYXkpKTsKKyAgICBBU1NFUlQoZGlzcGF0Y2hTb3VyY2UpOworCisg
ICAgc2NoZWR1bGVXb3JrT25Tb3VyY2UoZGlzcGF0Y2hTb3VyY2UuZ2V0KCksIGl0ZW0pOworfQor
Cg==
</data>
<flag name="review"
          id="79927"
          type_id="1"
          status="-"
          setter="mrobinson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87694</attachid>
            <date>2011-03-31 04:10:45 -0700</date>
            <delta_ts>2011-04-08 03:17:48 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>wk2-work-queue2.diff</filename>
            <type>text/plain</type>
            <size>6959</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA5Zjc2ODI0Li4xNzc1Y2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTEtMDMtMzEgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtHVEtd
IEltcGxlbWVudCBzY2hlZHVsZVdvcmtBZnRlckRlbGF5KCkgaW4gV29ya1F1ZXVlR3RrCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzQzNAorCisgICAg
ICAgICogUGxhdGZvcm0vV29ya1F1ZXVlLmg6CisgICAgICAgICogUGxhdGZvcm0vZ3RrL1dvcmtR
dWV1ZUd0ay5jcHA6CisgICAgICAgIChXb3JrUXVldWU6OkV2ZW50U291cmNlOjpleGVjdXRlRXZl
bnRTb3VyY2UpOiBUaGlzIG5ldyBtZXRob2QKKyAgICAgICAgY29udGFpbnMgdGhlIGNvbW1vbiBj
b2RlIHRvIGV4ZWN1dGUgYSB3b3JrIGl0ZW0uCisgICAgICAgIChXb3JrUXVldWU6OkV2ZW50U291
cmNlOjpwZXJmb3JtV29ya09uY2UpOiBVc2UKKyAgICAgICAgZXhlY3V0ZUV2ZW50U291cmNlKCkg
dG8gZXhlY3V0ZSB0aGUgd29yayBpdGVtLgorICAgICAgICAoV29ya1F1ZXVlOjpFdmVudFNvdXJj
ZTo6cGVyZm9ybVdvcmspOiBVc2UgZXhlY3V0ZUV2ZW50U291cmNlKCkgdG8KKyAgICAgICAgZXhl
Y3V0ZSB0aGUgd29yayBpdGVtLgorICAgICAgICAoV29ya1F1ZXVlOjpyZWdpc3RlckV2ZW50U291
cmNlSGFuZGxlcik6IFVzZSBhIEdTb2NrZXQgaW5zdGVhZCBvZgorICAgICAgICBhIEdJT0NoYW5u
ZWwgc2luY2UgdGhlIEFQSSBpcyBuZXdlciBhbmQgYWxsb3dzIHVzIHRvIHBhc3MgYQorICAgICAg
ICBjYW5jZWxsYWJsZSBvYmplY3QgdG8gYmUgYWJsZSB0byBjYW5jZWwgdGhlIHNvdXJjZS4KKyAg
ICAgICAgKFdvcmtRdWV1ZTo6c2NoZWR1bGVXb3JrT25Tb3VyY2UpOiBUaGlzIG5ldyBtZXRob2Qg
Y29udGFpbnMgdGhlCisgICAgICAgIGNvbW1vbiBjb2RlIHRvIGF0dGFjaCBhIHNvdXJjZSB0byBh
IGNvbnRleHQuIEl0IGRvZXNuJ3QgdXNlIGEgbG9jaworICAgICAgICBhbnltb3JlLCBzaW5jZSBn
X3NvdXJjZV9hdHRhY2goKSB1c2VzIGl0cyBvd24gbXV0ZXggaW50ZXJuYWxseS4KKyAgICAgICAg
KFdvcmtRdWV1ZTo6c2NoZWR1bGVXb3JrKTogVXNlIGFuIGlkbGUgc291cmNlIGluc3RlYWQgb2Yg
YSB0aW1lb3V0CisgICAgICAgIG9uZSwgY2hhbmdpbmcgdGhlIHByaW9yaXR5IHRvIEdfUFJJT1JJ
VFlfREVGQVVMVC4KKyAgICAgICAgKFdvcmtRdWV1ZTo6c2NoZWR1bGVXb3JrQWZ0ZXJEZWxheSk6
IEltcGxlbWVudCBpdCB1c2luZyBhIHRpbWVvdXQKKyAgICAgICAgc291cmNlIHdpdGggdGhlIGdp
dmVuIGRlbGF5LgorCiAyMDExLTAzLTMwICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFjaWVqIFN0YWNob3dpYWsuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Xb3JrUXVldWUuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL1dvcmtRdWV1ZS5oCmluZGV4IDk5Zjc3YWUuLmM5YTE3OTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL1dvcmtRdWV1ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL1dvcmtRdWV1ZS5oCkBAIC0xNjUsNiArMTY1LDcgQEAgcHJpdmF0ZToKICNlbGlmIFBMQVRG
T1JNKEdUSykKICAgICBzdGF0aWMgdm9pZCogc3RhcnRXb3JrUXVldWVUaHJlYWQoV29ya1F1ZXVl
Kik7CiAgICAgdm9pZCB3b3JrUXVldWVUaHJlYWRCb2R5KCk7CisgICAgdm9pZCBzY2hlZHVsZVdv
cmtPblNvdXJjZShHU291cmNlKiwgUGFzc093blB0cjxXb3JrSXRlbT4pOwogCiAgICAgVGhyZWFk
SWRlbnRpZmllciBtX3dvcmtRdWV1ZVRocmVhZDsKICAgICBHTWFpbkNvbnRleHQqIG1fZXZlbnRD
b250ZXh0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vZ3RrL1dvcmtRdWV1
ZUd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9ndGsvV29ya1F1ZXVlR3RrLmNwcApp
bmRleCBkYmUzOGJkLi5iMGU3NmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9ndGsvV29ya1F1ZXVlR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9ndGsv
V29ya1F1ZXVlR3RrLmNwcApAQCAtMjksNyArMjksOSBAQAogCiAjaW5jbHVkZSAiV0tCYXNlLmgi
CiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgorI2luY2x1ZGUgPGdpby9naW8u
aD4KICNpbmNsdWRlIDxnbGliLmg+CisjaW5jbHVkZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5oPgog
CiAvLyBXb3JrUXVldWU6OkV2ZW50U291cmNlCiBjbGFzcyBXb3JrUXVldWU6OkV2ZW50U291cmNl
IHsKQEAgLTQzLDcgKzQ1LDcgQEAgcHVibGljOgogCiAgICAgR1NvdXJjZSogZGlzcGF0Y2hTb3Vy
Y2UoKSB7IHJldHVybiBtX2Rpc3BhdGNoU291cmNlOyB9CiAKLSAgICBzdGF0aWMgZ2Jvb2xlYW4g
cGVyZm9ybVdvcmtPbmNlKEV2ZW50U291cmNlKiBldmVudFNvdXJjZSkKKyAgICBzdGF0aWMgZ2Jv
b2xlYW4gZXhlY3V0ZUV2ZW50U291cmNlKEV2ZW50U291cmNlKiBldmVudFNvdXJjZSkKICAgICB7
CiAgICAgICAgIEFTU0VSVChldmVudFNvdXJjZSk7CiAgICAgICAgIFdvcmtRdWV1ZSogcXVldWUg
PSBldmVudFNvdXJjZS0+bV93b3JrUXVldWU7CkBAIC01NCwzMSArNTYsMzEgQEAgcHVibGljOgog
ICAgICAgICB9CiAKICAgICAgICAgZXZlbnRTb3VyY2UtPm1fd29ya0l0ZW0tPmV4ZWN1dGUoKTsK
LSAgICAgICAgcmV0dXJuIEZBTFNFOworCisgICAgICAgIHJldHVybiBUUlVFOwogICAgIH0KIAot
ICAgIHN0YXRpYyBnYm9vbGVhbiBwZXJmb3JtV29yayhHSU9DaGFubmVsKiBjaGFubmVsLCBHSU9D
b25kaXRpb24gY29uZGl0aW9uLCBFdmVudFNvdXJjZSogZXZlbnRTb3VyY2UpIAorICAgIHN0YXRp
YyBnYm9vbGVhbiBwZXJmb3JtV29ya09uY2UoRXZlbnRTb3VyY2UqIGV2ZW50U291cmNlKQogICAg
IHsKLSAgICAgICAgQVNTRVJUKGV2ZW50U291cmNlKTsKKyAgICAgICAgZXhlY3V0ZUV2ZW50U291
cmNlKGV2ZW50U291cmNlKTsKKyAgICAgICAgcmV0dXJuIEZBTFNFOworICAgIH0KIAorICAgIHN0
YXRpYyBnYm9vbGVhbiBwZXJmb3JtV29yayhHU29ja2V0KiBzb2NrZXQsIEdJT0NvbmRpdGlvbiBj
b25kaXRpb24sIEV2ZW50U291cmNlKiBldmVudFNvdXJjZSkKKyAgICB7CiAgICAgICAgIGlmICgh
KGNvbmRpdGlvbiAmIEdfSU9fSU4pICYmICEoY29uZGl0aW9uICYgR19JT19IVVApICYmICEoY29u
ZGl0aW9uICYgR19JT19FUlIpKQogICAgICAgICAgICAgcmV0dXJuIEZBTFNFOwogCi0gICAgICAg
IFdvcmtRdWV1ZSogcXVldWUgPSBldmVudFNvdXJjZS0+bV93b3JrUXVldWU7Ci0gICAgICAgIHsK
LSAgICAgICAgICAgIE11dGV4TG9ja2VyIGxvY2tlcihxdWV1ZS0+bV9pc1ZhbGlkTXV0ZXgpOwot
ICAgICAgICAgICAgaWYgKCFxdWV1ZS0+bV9pc1ZhbGlkKQotICAgICAgICAgICAgICAgIHJldHVy
biBGQUxTRTsKLSAgICAgICAgfQogCi0gICAgICAgIGV2ZW50U291cmNlLT5tX3dvcmtJdGVtLT5l
eGVjdXRlKCk7CisgICAgICAgIGlmICghZXhlY3V0ZUV2ZW50U291cmNlKGV2ZW50U291cmNlKSkK
KyAgICAgICAgICAgIHJldHVybiBGQUxTRTsKIAogICAgICAgICBpZiAoKGNvbmRpdGlvbiAmIEdf
SU9fSFVQKSB8fCAoY29uZGl0aW9uICYgR19JT19FUlIpKQogICAgICAgICAgICAgcmV0dXJuIEZB
TFNFOwogCiAgICAgICAgIHJldHVybiBUUlVFOwogICAgIH0KLSAgICAKKwogICAgIHN0YXRpYyB2
b2lkIGRlbGV0ZUV2ZW50U291cmNlKEV2ZW50U291cmNlKiBldmVudFNvdXJjZSkgCiAgICAgewog
ICAgICAgICBBU1NFUlQoZXZlbnRTb3VyY2UpOwpAQCAtMTMyLDkgKzEzNCw5IEBAIHZvaWQgV29y
a1F1ZXVlOjp3b3JrUXVldWVUaHJlYWRCb2R5KCkKIAogdm9pZCBXb3JrUXVldWU6OnJlZ2lzdGVy
RXZlbnRTb3VyY2VIYW5kbGVyKGludCBmaWxlRGVzY3JpcHRvciwgaW50IGNvbmRpdGlvbiwgUGFz
c093blB0cjxXb3JrSXRlbT4gaXRlbSkKIHsKLSAgICBHSU9DaGFubmVsKiBjaGFubmVsID0gZ19p
b19jaGFubmVsX3VuaXhfbmV3KGZpbGVEZXNjcmlwdG9yKTsKLSAgICBBU1NFUlQoY2hhbm5lbCk7
Ci0gICAgR1NvdXJjZSogZGlzcGF0Y2hTb3VyY2UgPSBnX2lvX2NyZWF0ZV93YXRjaChjaGFubmVs
LCBzdGF0aWNfY2FzdDxHSU9Db25kaXRpb24+KGNvbmRpdGlvbikpOworICAgIEdSZWZQdHI8R1Nv
Y2tldD4gc29ja2V0ID0gYWRvcHRHUmVmKGdfc29ja2V0X25ld19mcm9tX2ZkKGZpbGVEZXNjcmlw
dG9yLCAwKSk7CisgICAgQVNTRVJUKHNvY2tldCk7CisgICAgR1NvdXJjZSogZGlzcGF0Y2hTb3Vy
Y2UgPSBnX3NvY2tldF9jcmVhdGVfc291cmNlKHNvY2tldC5nZXQoKSwgc3RhdGljX2Nhc3Q8R0lP
Q29uZGl0aW9uPihjb25kaXRpb24pLCAwKTsKICAgICBBU1NFUlQoZGlzcGF0Y2hTb3VyY2UpOwog
ICAgIEV2ZW50U291cmNlKiBldmVudFNvdXJjZSA9IG5ldyBFdmVudFNvdXJjZShkaXNwYXRjaFNv
dXJjZSwgaXRlbSwgdGhpcyk7CiAgICAgQVNTRVJUKGV2ZW50U291cmNlKTsKQEAgLTE1NCwxMSAr
MTU2LDcgQEAgdm9pZCBXb3JrUXVldWU6OnJlZ2lzdGVyRXZlbnRTb3VyY2VIYW5kbGVyKGludCBm
aWxlRGVzY3JpcHRvciwgaW50IGNvbmRpdGlvbiwgUGEKICAgICAgICAgbV9ldmVudFNvdXJjZXMu
c2V0KGZpbGVEZXNjcmlwdG9yLCBzb3VyY2VzKTsKICAgICB9CiAKLSAgICAvLyBBdHRhY2ggdGhl
IGV2ZW50IHNvdXJjZSB0byB0aGUgR01haW5Db250ZXh0IHVuZGVyIHRoZSBtdXRleCBzaW5jZSB0
aGlzIGlzIHNoYXJlZCBhY3Jvc3MgbXVsdGlwbGUgdGhyZWFkcy4KLSAgICB7Ci0gICAgICAgIE11
dGV4TG9ja2VyIGxvY2tlcihtX2V2ZW50TG9vcExvY2spOwotICAgICAgICBnX3NvdXJjZV9hdHRh
Y2goZGlzcGF0Y2hTb3VyY2UsIG1fZXZlbnRDb250ZXh0KTsKLSAgICB9CisgICAgZ19zb3VyY2Vf
YXR0YWNoKGRpc3BhdGNoU291cmNlLCBtX2V2ZW50Q29udGV4dCk7CiB9CiAKIHZvaWQgV29ya1F1
ZXVlOjp1bnJlZ2lzdGVyRXZlbnRTb3VyY2VIYW5kbGVyKGludCBmaWxlRGVzY3JpcHRvcikKQEAg
LTE4MCwyMyArMTc4LDMxIEBAIHZvaWQgV29ya1F1ZXVlOjp1bnJlZ2lzdGVyRXZlbnRTb3VyY2VI
YW5kbGVyKGludCBmaWxlRGVzY3JpcHRvcikKICAgICB9CiB9CiAKLXZvaWQgV29ya1F1ZXVlOjpz
Y2hlZHVsZVdvcmsoUGFzc093blB0cjxXb3JrSXRlbT4gaXRlbSkKK3ZvaWQgV29ya1F1ZXVlOjpz
Y2hlZHVsZVdvcmtPblNvdXJjZShHU291cmNlKiBkaXNwYXRjaFNvdXJjZSwgUGFzc093blB0cjxX
b3JrSXRlbT4gaXRlbSkKIHsKLSAgICBHU291cmNlKiBkaXNwYXRjaFNvdXJjZSA9IGdfdGltZW91
dF9zb3VyY2VfbmV3KDApOwotICAgIEFTU0VSVChkaXNwYXRjaFNvdXJjZSk7CiAgICAgRXZlbnRT
b3VyY2UqIGV2ZW50U291cmNlID0gbmV3IEV2ZW50U291cmNlKGRpc3BhdGNoU291cmNlLCBpdGVt
LCB0aGlzKTsKLSAgICAKLSAgICBnX3NvdXJjZV9zZXRfY2FsbGJhY2soZGlzcGF0Y2hTb3VyY2Us
IAotICAgICAgICAgICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PEdTb3VyY2VGdW5j
PigmV29ya1F1ZXVlOjpFdmVudFNvdXJjZTo6cGVyZm9ybVdvcmtPbmNlKSwgCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIGV2ZW50U291cmNlLCAKKworICAgIGdfc291cmNlX3NldF9jYWxsYmFj
ayhkaXNwYXRjaFNvdXJjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRf
Y2FzdDxHU291cmNlRnVuYz4oJldvcmtRdWV1ZTo6RXZlbnRTb3VyY2U6OnBlcmZvcm1Xb3JrT25j
ZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50U291cmNlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PEdEZXN0cm95Tm90aWZ5PigmV29ya1F1ZXVl
OjpFdmVudFNvdXJjZTo6ZGVsZXRlRXZlbnRTb3VyY2UpKTsKLSAgICB7Ci0gICAgICAgIE11dGV4
TG9ja2VyIGxvY2tlcihtX2V2ZW50TG9vcExvY2spOwotICAgICAgICBnX3NvdXJjZV9hdHRhY2go
ZGlzcGF0Y2hTb3VyY2UsIG1fZXZlbnRDb250ZXh0KTsKLSAgICB9CisKKyAgICBnX3NvdXJjZV9h
dHRhY2goZGlzcGF0Y2hTb3VyY2UsIG1fZXZlbnRDb250ZXh0KTsKIH0KIAotdm9pZCBXb3JrUXVl
dWU6OnNjaGVkdWxlV29ya0FmdGVyRGVsYXkoUGFzc093blB0cjxXb3JrSXRlbT4sIGRvdWJsZSkK
K3ZvaWQgV29ya1F1ZXVlOjpzY2hlZHVsZVdvcmsoUGFzc093blB0cjxXb3JrSXRlbT4gaXRlbSkK
IHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIEdSZWZQdHI8R1NvdXJjZT4gZGlzcGF0Y2hT
b3VyY2UgPSBhZG9wdEdSZWYoZ19pZGxlX3NvdXJjZV9uZXcoKSk7CisgICAgQVNTRVJUKGRpc3Bh
dGNoU291cmNlKTsKKyAgICBnX3NvdXJjZV9zZXRfcHJpb3JpdHkoZGlzcGF0Y2hTb3VyY2UuZ2V0
KCksIEdfUFJJT1JJVFlfREVGQVVMVCk7CisKKyAgICBzY2hlZHVsZVdvcmtPblNvdXJjZShkaXNw
YXRjaFNvdXJjZS5nZXQoKSwgaXRlbSk7Cit9CisKK3ZvaWQgV29ya1F1ZXVlOjpzY2hlZHVsZVdv
cmtBZnRlckRlbGF5KFBhc3NPd25QdHI8V29ya0l0ZW0+IGl0ZW0sIGRvdWJsZSBkZWxheSkKK3sK
KyAgICBHUmVmUHRyPEdTb3VyY2U+IGRpc3BhdGNoU291cmNlID0gYWRvcHRHUmVmKGdfdGltZW91
dF9zb3VyY2VfbmV3X3NlY29uZHMoZGVsYXkpKTsKKyAgICBBU1NFUlQoZGlzcGF0Y2hTb3VyY2Up
OworCisgICAgc2NoZWR1bGVXb3JrT25Tb3VyY2UoZGlzcGF0Y2hTb3VyY2UuZ2V0KCksIGl0ZW0p
OwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>