<?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>54832</bug_id>
          
          <creation_ts>2011-02-20 13:09:36 -0800</creation_ts>
          <short_desc>Remove pthreads dependency in JSLock when it&apos;s not needed</short_desc>
          <delta_ts>2011-02-24 08:45:19 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>ap</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>354307</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-20 13:09:36 -0800</bug_when>
    <thetext>Use WTF::Mutex in JSLock</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354308</commentid>
    <comment_count>1</comment_count>
      <attachid>83101</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-20 13:10:50 -0800</bug_when>
    <thetext>Created attachment 83101
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354338</commentid>
    <comment_count>2</comment_count>
      <attachid>83101</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-20 17:27:02 -0800</bug_when>
    <thetext>Comment on attachment 83101
Patch

There is a race condition initializing the static mutex now. Typically, we would create the static mutex from JSC::initializeThreading().

But I don&apos;t think that you need JSLock to work at all. The only times it&apos;s used with LockForReal argument is for deprecated Mac OS X SPI behavior where concurrent access to a JS context was serialized with a mutex automagically.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355519</commentid>
    <comment_count>3</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-22 12:50:31 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 83101 [details])
&gt; There is a race condition initializing the static mutex now. Typically, we would create the static mutex from JSC::initializeThreading().
&gt; 
&gt; But I don&apos;t think that you need JSLock to work at all. The only times it&apos;s used with LockForReal argument is for deprecated Mac OS X SPI behavior where concurrent access to a JS context was serialized with a mutex automagically.

Is it safe to remove the Mutex as a whole? Or should i upload a new patch with a initializeThreading() call?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355541</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-22 13:08:11 -0800</bug_when>
    <thetext>I suggest making JSMutex no-op on non-Mac platforms (like it&apos;s no-op on Mac when SilenceAssertionsOnly is passed).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355997</commentid>
    <comment_count>5</comment_count>
      <attachid>83466</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-23 03:47:35 -0800</bug_when>
    <thetext>Created attachment 83466
Patch

I digged a little bit deeper into this, but AKAICS I don&apos;t want to remove it as a whole.
So this patch removes the race condition from the previous patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356113</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-23 08:50:10 -0800</bug_when>
    <thetext>So, why don&apos;t you want to make JSLock no-op on non-Mac platforms?

What is &quot;AKAICS&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356249</commentid>
    <comment_count>7</comment_count>
      <attachid>83514</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-23 11:35:57 -0800</bug_when>
    <thetext>Created attachment 83514
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356253</commentid>
    <comment_count>8</comment_count>
      <attachid>83514</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-02-23 11:40:39 -0800</bug_when>
    <thetext>Comment on attachment 83514
Patch

I don’t think USE(PTHREADS) is the correct thing here. The obsolete execution model only matters on certain platforms. It’s arguably a &quot;coincidence&quot; that USE(PTHREADS) happens to be true on those platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356257</commentid>
    <comment_count>9</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-23 11:43:13 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 83514 [details])
&gt; I don’t think USE(PTHREADS) is the correct thing here. The obsolete execution model only matters on certain platforms. It’s arguably a &quot;coincidence&quot; that USE(PTHREADS) happens to be true on those platforms.

ap (and me too) preferred USE(PTHREADS) over OS(DARWIN), so you get the ASSERTION on other platforms when using pthread too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356332</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-23 12:51:39 -0800</bug_when>
    <thetext>it&apos;s true that due to this change, we&apos;ll subtly break Mac if we switch from pthreads to something else. May be best to add an #error for this case.

#if PLATFORM(MAC) &amp;&amp; !USE(PTHREADS)
#error...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356343</commentid>
    <comment_count>11</comment_count>
      <attachid>83530</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-23 13:05:00 -0800</bug_when>
    <thetext>Created attachment 83530
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356353</commentid>
    <comment_count>12</comment_count>
      <attachid>83530</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-23 13:13:53 -0800</bug_when>
    <thetext>Comment on attachment 83530
Patch

OK. I still think that an #error would have been better, because someone may remove the seemingly redundant OS(DARWIN) || USE(PTHREADS) check without deep thinking in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356371</commentid>
    <comment_count>13</comment_count>
      <attachid>83530</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-23 13:37:05 -0800</bug_when>
    <thetext>Comment on attachment 83530
Patch

(In reply to comment #12)
&gt; (From update of attachment 83530 [details])
&gt; OK. I still think that an #error would have been better, because someone may remove the seemingly redundant OS(DARWIN) || USE(PTHREADS) check without deep thinking in the future.

I also made a version with #error, but the resulting code looked a kind of ugly to me.
The three lines of comments explaining why we have OS(DARWIN) in the #if will be part of a possible removal patch, so it shouldn&apos;t be too easy to do this by accident.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356988</commentid>
    <comment_count>14</comment_count>
      <attachid>83530</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-24 07:49:49 -0800</bug_when>
    <thetext>Comment on attachment 83530
Patch

Clearing flags on attachment: 83530

Committed r79564: &lt;http://trac.webkit.org/changeset/79564&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356989</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-24 07:49:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83101</attachid>
            <date>2011-02-20 13:10:50 -0800</date>
            <delta_ts>2011-02-23 03:47:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54832-20110220221048.patch</filename>
            <type>text/plain</type>
            <size>2326</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzkxNTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGVk
MWI1ZTk2NzY2OTE5N2RkM2U5YjM1MWU3NDFjNjI5ZmU1OGQ4Y2EuLjhkMzgyYjg0ODliM2FjZWRj
NTYwMGUwMGNhN2UyMThiYjhiNzIyY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDExLTAyLTIwICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVz
ZSBXVEY6Ok11dGV4IGluIEpTTG9jaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTQ4MzIKKworICAgICAgICAqIHJ1bnRpbWUvSlNMb2NrLmNwcDoKKyAg
ICAgICAgKEpTQzo6anNNdXRleCk6CisgICAgICAgIChKU0M6OkpTTG9jazo6bG9jayk6CisgICAg
ICAgIChKU0M6OkpTTG9jazo6dW5sb2NrKToKKwogMjAxMS0wMi0xOSAgTGFzemxvIEdvbWJvcyAg
PGxhc3psby4xLmdvbWJvc0Bub2tpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBm
aXggZm9yIFN5bWJpYW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0xvY2suY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmNwcApp
bmRleCA5MTgxNDFmMzBiZmJmOTBkMDY4NTM3ZjdlZGVlZmY5MDM5NjE5MDMwLi40YTkwMTVjZmEw
MWViZmEyOGJiNjU0NTJhOGE3OGFiZTk1N2M3ZTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0xvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTTG9jay5jcHAKQEAgLTMzLDcgKzMzLDExIEBAIG5hbWVzcGFjZSBKU0MgewogI2lm
IEVOQUJMRShKU0NfTVVMVElQTEVfVEhSRUFEUykKIAogLy8gQWNxdWlyZSB0aGlzIG11dGV4IGJl
Zm9yZSBhY2Nlc3NpbmcgbG9jay1yZWxhdGVkIGRhdGEuCi1zdGF0aWMgcHRocmVhZF9tdXRleF90
IEpTTXV0ZXggPSBQVEhSRUFEX01VVEVYX0lOSVRJQUxJWkVSOworc3RhdGljIE11dGV4JiBqc011
dGV4KCkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKE11dGV4LCBtdXRleCwgKCkpOworICAg
IHJldHVybiBtdXRleDsKK30KIAogLy8gVGhyZWFkLXNwZWNpZmljIGtleSB0aGF0IHRlbGxzIHdo
ZXRoZXIgYSB0aHJlYWQgaG9sZHMgdGhlIEpTTXV0ZXgsIGFuZCBob3cgbWFueSB0aW1lcyBpdCB3
YXMgdGFrZW4gcmVjdXJzaXZlbHkuCiBwdGhyZWFkX2tleV90IEpTTG9ja0NvdW50OwpAQCAtODIs
MTEgKzg2LDggQEAgdm9pZCBKU0xvY2s6OmxvY2soSlNMb2NrQmVoYXZpb3IgbG9ja0JlaGF2aW9y
KQogICAgIHB0aHJlYWRfb25jZSgmY3JlYXRlSlNMb2NrQ291bnRPbmNlLCBjcmVhdGVKU0xvY2tD
b3VudCk7CiAKICAgICBpbnRwdHJfdCBjdXJyZW50TG9ja0NvdW50ID0gbG9ja0NvdW50KCk7Ci0g
ICAgaWYgKCFjdXJyZW50TG9ja0NvdW50ICYmIGxvY2tCZWhhdmlvciA9PSBMb2NrRm9yUmVhbCkg
ewotICAgICAgICBpbnQgcmVzdWx0OwotICAgICAgICByZXN1bHQgPSBwdGhyZWFkX211dGV4X2xv
Y2soJkpTTXV0ZXgpOwotICAgICAgICBBU1NFUlQoIXJlc3VsdCk7Ci0gICAgfQorICAgIGlmICgh
Y3VycmVudExvY2tDb3VudCAmJiBsb2NrQmVoYXZpb3IgPT0gTG9ja0ZvclJlYWwpCisgICAgICAg
IGpzTXV0ZXgoKS5sb2NrKCk7CiAgICAgc2V0TG9ja0NvdW50KGN1cnJlbnRMb2NrQ291bnQgKyAx
KTsKIH0KIApAQCAtMTAyLDExICsxMDMsOCBAQCB2b2lkIEpTTG9jazo6dW5sb2NrKEpTTG9ja0Jl
aGF2aW9yIGxvY2tCZWhhdmlvcikKIAogICAgIGludHB0cl90IG5ld0xvY2tDb3VudCA9IGxvY2tD
b3VudCgpIC0gMTsKICAgICBzZXRMb2NrQ291bnQobmV3TG9ja0NvdW50KTsKLSAgICBpZiAoIW5l
d0xvY2tDb3VudCAmJiBsb2NrQmVoYXZpb3IgPT0gTG9ja0ZvclJlYWwpIHsKLSAgICAgICAgaW50
IHJlc3VsdDsKLSAgICAgICAgcmVzdWx0ID0gcHRocmVhZF9tdXRleF91bmxvY2soJkpTTXV0ZXgp
OwotICAgICAgICBBU1NFUlQoIXJlc3VsdCk7Ci0gICAgfQorICAgIGlmICghbmV3TG9ja0NvdW50
ICYmIGxvY2tCZWhhdmlvciA9PSBMb2NrRm9yUmVhbCkKKyAgICAgICAganNNdXRleCgpLnVubG9j
aygpOwogfQogCiB2b2lkIEpTTG9jazo6bG9jayhFeGVjU3RhdGUqIGV4ZWMpCg==
</data>
<flag name="review"
          id="74850"
          type_id="1"
          status="-"
          setter="ap"
    />
    <flag name="commit-queue"
          id="74851"
          type_id="3"
          status="-"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83466</attachid>
            <date>2011-02-23 03:47:35 -0800</date>
            <delta_ts>2011-02-23 11:35:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54832.patch</filename>
            <type>text/plain</type>
            <size>4032</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDc5NGIzNjMuLjBkODIzYjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDExLTAyLTIzICBQYXRyaWNrIEdhbnN0
ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVzZSBXVEY6Ok11dGV4IGluIEpTTG9jaworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ4MzIKKworICAgICAgICAqIHJ1
bnRpbWUvSW5pdGlhbGl6ZVRocmVhZGluZy5jcHA6CisgICAgICAgIChKU0M6OmluaXRpYWxpemVU
aHJlYWRpbmdPbmNlKToKKyAgICAgICAgKiBydW50aW1lL0pTTG9jay5jcHA6CisgICAgICAgIChK
U0M6OmpzTXV0ZXgpOgorICAgICAgICAoSlNDOjpKU0xvY2s6OmxvY2spOgorICAgICAgICAoSlND
OjpKU0xvY2s6OnVubG9jayk6CisgICAgICAgIChKU0M6OkpTTG9jazo6aW5pdGlhbGl6ZVRocmVh
ZGluZyk6CisgICAgICAgICogcnVudGltZS9KU0xvY2suaDoKKwogMjAxMS0wMi0yMyAgRnVtaXRv
c2hpIFVrYWkgIDx1a2FpQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFt
IEJhcnRoLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5pdGlh
bGl6ZVRocmVhZGluZy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Jbml0aWFs
aXplVGhyZWFkaW5nLmNwcAppbmRleCAyNzYxMWI3Li45ZTIzYzk5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Jbml0aWFsaXplVGhyZWFkaW5nLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Jbml0aWFsaXplVGhyZWFkaW5nLmNwcApAQCAt
MzMsNiArMzMsNyBAQAogI2luY2x1ZGUgImR0b2EuaCIKICNpbmNsdWRlICJJZGVudGlmaWVyLmgi
CiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIKKyNpbmNsdWRlICJKU0xvY2suaCIKICNpbmNs
dWRlICJVU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0RhdGVNYXRoLmg+CiAjaW5jbHVkZSA8d3Rm
L1RocmVhZGluZy5oPgpAQCAtNTgsNiArNTksNyBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplVGhy
ZWFkaW5nT25jZSgpCiAjaWYgRU5BQkxFKEpTQ19NVUxUSVBMRV9USFJFQURTKQogICAgIHNfZHRv
YVA1TXV0ZXggPSBuZXcgTXV0ZXg7CiAgICAgaW5pdGlhbGl6ZURhdGVzKCk7CisgICAgSlNMb2Nr
Ojppbml0aWFsaXplVGhyZWFkaW5nKCk7CiAgICAgUmVnaXN0ZXJGaWxlOjppbml0aWFsaXplVGhy
ZWFkaW5nKCk7CiAgICAgU3RydWN0dXJlOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suY3BwCmluZGV4IDkxODE0MWYuLmNl
NTQyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmNwcApAQCAtMzMs
NyArMzMsMTIgQEAgbmFtZXNwYWNlIEpTQyB7CiAjaWYgRU5BQkxFKEpTQ19NVUxUSVBMRV9USFJF
QURTKQogCiAvLyBBY3F1aXJlIHRoaXMgbXV0ZXggYmVmb3JlIGFjY2Vzc2luZyBsb2NrLXJlbGF0
ZWQgZGF0YS4KLXN0YXRpYyBwdGhyZWFkX211dGV4X3QgSlNNdXRleCA9IFBUSFJFQURfTVVURVhf
SU5JVElBTElaRVI7CitzdGF0aWMgTXV0ZXgmIGpzTXV0ZXgoKQoreworICAgIERFRklORV9TVEFU
SUNfTE9DQUwoTXV0ZXgsIG11dGV4LCAoKSk7CisgICAgcmV0dXJuIG11dGV4OworfQorCiAKIC8v
IFRocmVhZC1zcGVjaWZpYyBrZXkgdGhhdCB0ZWxscyB3aGV0aGVyIGEgdGhyZWFkIGhvbGRzIHRo
ZSBKU011dGV4LCBhbmQgaG93IG1hbnkgdGltZXMgaXQgd2FzIHRha2VuIHJlY3Vyc2l2ZWx5Lgog
cHRocmVhZF9rZXlfdCBKU0xvY2tDb3VudDsKQEAgLTgyLDExICs4Nyw4IEBAIHZvaWQgSlNMb2Nr
Ojpsb2NrKEpTTG9ja0JlaGF2aW9yIGxvY2tCZWhhdmlvcikKICAgICBwdGhyZWFkX29uY2UoJmNy
ZWF0ZUpTTG9ja0NvdW50T25jZSwgY3JlYXRlSlNMb2NrQ291bnQpOwogCiAgICAgaW50cHRyX3Qg
Y3VycmVudExvY2tDb3VudCA9IGxvY2tDb3VudCgpOwotICAgIGlmICghY3VycmVudExvY2tDb3Vu
dCAmJiBsb2NrQmVoYXZpb3IgPT0gTG9ja0ZvclJlYWwpIHsKLSAgICAgICAgaW50IHJlc3VsdDsK
LSAgICAgICAgcmVzdWx0ID0gcHRocmVhZF9tdXRleF9sb2NrKCZKU011dGV4KTsKLSAgICAgICAg
QVNTRVJUKCFyZXN1bHQpOwotICAgIH0KKyAgICBpZiAoIWN1cnJlbnRMb2NrQ291bnQgJiYgbG9j
a0JlaGF2aW9yID09IExvY2tGb3JSZWFsKQorICAgICAgICBqc011dGV4KCkubG9jaygpOwogICAg
IHNldExvY2tDb3VudChjdXJyZW50TG9ja0NvdW50ICsgMSk7CiB9CiAKQEAgLTEwMiwxMSArMTA0
LDggQEAgdm9pZCBKU0xvY2s6OnVubG9jayhKU0xvY2tCZWhhdmlvciBsb2NrQmVoYXZpb3IpCiAK
ICAgICBpbnRwdHJfdCBuZXdMb2NrQ291bnQgPSBsb2NrQ291bnQoKSAtIDE7CiAgICAgc2V0TG9j
a0NvdW50KG5ld0xvY2tDb3VudCk7Ci0gICAgaWYgKCFuZXdMb2NrQ291bnQgJiYgbG9ja0JlaGF2
aW9yID09IExvY2tGb3JSZWFsKSB7Ci0gICAgICAgIGludCByZXN1bHQ7Ci0gICAgICAgIHJlc3Vs
dCA9IHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZKU011dGV4KTsKLSAgICAgICAgQVNTRVJUKCFyZXN1
bHQpOwotICAgIH0KKyAgICBpZiAoIW5ld0xvY2tDb3VudCAmJiBsb2NrQmVoYXZpb3IgPT0gTG9j
a0ZvclJlYWwpCisgICAgICAgIGpzTXV0ZXgoKS51bmxvY2soKTsKIH0KIAogdm9pZCBKU0xvY2s6
OmxvY2soRXhlY1N0YXRlKiBleGVjKQpAQCAtMTI1LDYgKzEyNCwxMSBAQCBib29sIEpTTG9jazo6
Y3VycmVudFRocmVhZElzSG9sZGluZ0xvY2soKQogICAgIHJldHVybiAhIXB0aHJlYWRfZ2V0c3Bl
Y2lmaWMoSlNMb2NrQ291bnQpOwogfQogCit2b2lkIEpTTG9jazo6aW5pdGlhbGl6ZVRocmVhZGlu
ZygpCit7CisgICAganNNdXRleCgpOworfQorCiAvLyBUaGlzIGlzIGZhaXJseSBuYXN0eS4gIFdl
IGFsbG93IG11bHRpcGxlIHRocmVhZHMgdG8gcnVuIG9uIHRoZSBzYW1lCiAvLyBjb250ZXh0LCBh
bmQgd2UgZG8gbm90IHJlcXVpcmUgYW55IGxvY2tpbmcgc2VtYW50aWNzIGluIGRvaW5nIHNvIC0K
IC8vIGNsaWVudHMgb2YgdGhlIEFQSSBtYXkgc2ltcGx5IHVzZSB0aGUgY29udGV4dCBmcm9tIG11
bHRpcGxlIHRocmVhZHMKQEAgLTIyNyw2ICsyMzEsMTAgQEAgYm9vbCBKU0xvY2s6OmN1cnJlbnRU
aHJlYWRJc0hvbGRpbmdMb2NrKCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBKU0xvY2s6
OmluaXRpYWxpemVUaHJlYWRpbmcoKQoreworfQorCiB2b2lkIEpTTG9jazo6bG9jayhKU0xvY2tC
ZWhhdmlvcikKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTTG9jay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKaW5kZXgg
N2IwN2I0Zi4uOTcwNmU5OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNMb2NrLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgK
QEAgLTg3LDYgKzg3LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc3RhdGljIGludHB0
cl90IGxvY2tDb3VudCgpOwogICAgICAgICBzdGF0aWMgYm9vbCBjdXJyZW50VGhyZWFkSXNIb2xk
aW5nTG9jaygpOworICAgICAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXplVGhyZWFkaW5nKCk7CiAK
ICAgICAgICAgSlNMb2NrQmVoYXZpb3IgbV9sb2NrQmVoYXZpb3I7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83514</attachid>
            <date>2011-02-23 11:35:57 -0800</date>
            <delta_ts>2011-02-23 13:04:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54832-20110223203555.patch</filename>
            <type>text/plain</type>
            <size>2192</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzk0NTkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGI4
MjVjMjI0M2QzYjQ2MGM5MzBlOTQ1ODBhMTMyODJjYWZmYzJkNGEuLjI4YTA2YzQ0ZTAzOGIyZWFi
ZDE2ODkwYzAwZTJlZWVlZmM3MzI1NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDExLTAyLTIzICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJl
bW92ZSBwdGhyZWFkcyBkZXBlbmRlY3kgZm9yIEpTTG9jaworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ4MzIKKworICAgICAgICBKU0xvY2sgaXMgb25s
eSBuZWVkZWQgdG8gc3VwcG9ydCBhbiBvYnNvbGV0ZSBleGVjdXRpb24gbW9kZWwgd2hlcmUgSmF2
YVNjcmlwdENvcmUKKyAgICAgICAgYXV0b21hdGljYWxseSBwcm90ZWN0ZWQgYWdhaW5zdCBjb25j
dXJyZW50IGFjY2VzcyBmcm9tIG11bHRpcGxlIHRocmVhZHMuCisgICAgICAgIFNvIGl0J3Mgc2Fm
ZSB0byBkaXNhYmxlIGl0IG9uIHBsYXRmb3JtcyB3aGVyZSB3ZSBkb24ndCBoYXZlIG5hdGl2ZSBw
dGhyZWFkcy4KKworICAgICAgICAqIHJ1bnRpbWUvSlNMb2NrLmNwcDoKKwogMjAxMS0wMi0yMyAg
U2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCwgcm9sbGluZyBvdXQgcjc5NDE4LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNMb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTTG9jay5jcHAKaW5kZXggOTE4MTQxZjMwYmZiZjkwZDA2ODUzN2Y3ZWRlZWZmOTAzOTYxOTAz
MC4uYTQ1MmJhZTY1ZjYyYzkxMmEwNzNlZDI0NjQ1MGUyMTgwNzczNDYyMyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suY3BwCkBAIC0yNCwxMyArMjQsMTYgQEAKICNpbmNs
dWRlICJIZWFwLmgiCiAjaW5jbHVkZSAiQ2FsbEZyYW1lLmgiCiAKLSNpZiBFTkFCTEUoSlNDX01V
TFRJUExFX1RIUkVBRFMpCisjaWYgVVNFKFBUSFJFQURTKQogI2luY2x1ZGUgPHB0aHJlYWQuaD4K
ICNlbmRpZgogCiBuYW1lc3BhY2UgSlNDIHsKIAotI2lmIEVOQUJMRShKU0NfTVVMVElQTEVfVEhS
RUFEUykKKy8vIEpTTG9jayBpcyBvbmx5IG5lZWRlZCB0byBzdXBwb3J0IGFuIG9ic29sZXRlIGV4
ZWN1dGlvbiBtb2RlbCB3aGVyZSBKYXZhU2NyaXB0Q29yZQorLy8gYXV0b21hdGljYWxseSBwcm90
ZWN0ZWQgYWdhaW5zdCBjb25jdXJyZW50IGFjY2VzcyBmcm9tIG11bHRpcGxlIHRocmVhZHMuCisv
LyBTbyBpdCdzIHNhZmUgdG8gZGlzYWJsZSBpdCBvbiBwbGF0Zm9ybXMgd2hlcmUgd2UgZG9uJ3Qg
aGF2ZSBuYXRpdmUgcHRocmVhZHMuCisjaWYgRU5BQkxFKEpTQ19NVUxUSVBMRV9USFJFQURTKSAm
JiBVU0UoUFRIUkVBRFMpCiAKIC8vIEFjcXVpcmUgdGhpcyBtdXRleCBiZWZvcmUgYWNjZXNzaW5n
IGxvY2stcmVsYXRlZCBkYXRhLgogc3RhdGljIHB0aHJlYWRfbXV0ZXhfdCBKU011dGV4ID0gUFRI
UkVBRF9NVVRFWF9JTklUSUFMSVpFUjsKQEAgLTIwOCw3ICsyMTEsNyBAQCBKU0xvY2s6OkRyb3BB
bGxMb2Nrczo6fkRyb3BBbGxMb2NrcygpCiAgICAgLS1sb2NrRHJvcERlcHRoOwogfQogCi0jZWxz
ZQorI2Vsc2UgLy8gRU5BQkxFKEpTQ19NVUxUSVBMRV9USFJFQURTKSAmJiBVU0UoUFRIUkVBRFMp
CiAKIEpTTG9jazo6SlNMb2NrKEV4ZWNTdGF0ZSopCiAgICAgOiBtX2xvY2tCZWhhdmlvcihTaWxl
bmNlQXNzZXJ0aW9uc09ubHkpCkBAIC0yNTUsNiArMjU4LDYgQEAgSlNMb2NrOjpEcm9wQWxsTG9j
a3M6On5Ecm9wQWxsTG9ja3MoKQogewogfQogCi0jZW5kaWYgLy8gVVNFKE1VTFRJUExFX1RIUkVB
RFMpCisjZW5kaWYgLy8gRU5BQkxFKEpTQ19NVUxUSVBMRV9USFJFQURTKSAmJiBVU0UoUFRIUkVB
RFMpCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83530</attachid>
            <date>2011-02-23 13:05:00 -0800</date>
            <delta_ts>2011-02-24 07:49:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54832-20110223220457.patch</filename>
            <type>text/plain</type>
            <size>2256</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzk0NTkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGI4
MjVjMjI0M2QzYjQ2MGM5MzBlOTQ1ODBhMTMyODJjYWZmYzJkNGEuLjNlYWUyYWIxY2RlMTM3Nzlk
YWUxNjIzNjljMGRkNDgwYmZjZWNkMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDExLTAyLTIzICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJl
bW92ZSBwdGhyZWFkcyBkZXBlbmRlY3kgZm9yIEpTTG9jaworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ4MzIKKworICAgICAgICBKU0xvY2sgaXMgb25s
eSBuZWVkZWQgdG8gc3VwcG9ydCBhbiBvYnNvbGV0ZSBleGVjdXRpb24gbW9kZWwgd2hlcmUgSmF2
YVNjcmlwdENvcmUKKyAgICAgICAgYXV0b21hdGljYWxseSBwcm90ZWN0ZWQgYWdhaW5zdCBjb25j
dXJyZW50IGFjY2VzcyBmcm9tIG11bHRpcGxlIHRocmVhZHMuCisgICAgICAgIFNvIGl0J3Mgc2Fm
ZSB0byBkaXNhYmxlIGl0IG9uIG5vbi1tYWMgcGxhdGZvcm1zIHdoZXJlIHdlIGRvbid0IGhhdmUg
bmF0aXZlIHB0aHJlYWRzLgorCisgICAgICAgICogcnVudGltZS9KU0xvY2suY3BwOgorCiAyMDEx
LTAyLTIzICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAg
ICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNzk0MTguCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNMb2NrLmNwcAppbmRleCA5MTgxNDFmMzBiZmJmOTBkMDY4NTM3ZjdlZGVlZmY5
MDM5NjE5MDMwLi42ZTYzMTIyZDU5NTBlMGQ1OTNhNWZhZDEyNmI4OWNiYzRjNzNkZjBiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5jcHAKQEAgLTI0LDEzICsyNCwxNiBA
QAogI2luY2x1ZGUgIkhlYXAuaCIKICNpbmNsdWRlICJDYWxsRnJhbWUuaCIKIAotI2lmIEVOQUJM
RShKU0NfTVVMVElQTEVfVEhSRUFEUykKKyNpZiBVU0UoUFRIUkVBRFMpCiAjaW5jbHVkZSA8cHRo
cmVhZC5oPgogI2VuZGlmCiAKIG5hbWVzcGFjZSBKU0MgewogCi0jaWYgRU5BQkxFKEpTQ19NVUxU
SVBMRV9USFJFQURTKQorLy8gSlNMb2NrIGlzIG9ubHkgbmVlZGVkIHRvIHN1cHBvcnQgYW4gb2Jz
b2xldGUgZXhlY3V0aW9uIG1vZGVsIHdoZXJlIEphdmFTY3JpcHRDb3JlCisvLyBhdXRvbWF0aWNh
bGx5IHByb3RlY3RlZCBhZ2FpbnN0IGNvbmN1cnJlbnQgYWNjZXNzIGZyb20gbXVsdGlwbGUgdGhy
ZWFkcy4KKy8vIFNvIGl0J3Mgc2FmZSB0byBkaXNhYmxlIGl0IG9uIG5vbi1tYWMgcGxhdGZvcm1z
IHdoZXJlIHdlIGRvbid0IGhhdmUgbmF0aXZlIHB0aHJlYWRzLgorI2lmIEVOQUJMRShKU0NfTVVM
VElQTEVfVEhSRUFEUykgJiYgKE9TKERBUldJTikgfHwgVVNFKFBUSFJFQURTKSkKIAogLy8gQWNx
dWlyZSB0aGlzIG11dGV4IGJlZm9yZSBhY2Nlc3NpbmcgbG9jay1yZWxhdGVkIGRhdGEuCiBzdGF0
aWMgcHRocmVhZF9tdXRleF90IEpTTXV0ZXggPSBQVEhSRUFEX01VVEVYX0lOSVRJQUxJWkVSOwpA
QCAtMjA4LDcgKzIxMSw3IEBAIEpTTG9jazo6RHJvcEFsbExvY2tzOjp+RHJvcEFsbExvY2tzKCkK
ICAgICAtLWxvY2tEcm9wRGVwdGg7CiB9CiAKLSNlbHNlCisjZWxzZSAvLyBFTkFCTEUoSlNDX01V
TFRJUExFX1RIUkVBRFMpICYmIChPUyhEQVJXSU4pIHx8IFVTRShQVEhSRUFEUykpCiAKIEpTTG9j
azo6SlNMb2NrKEV4ZWNTdGF0ZSopCiAgICAgOiBtX2xvY2tCZWhhdmlvcihTaWxlbmNlQXNzZXJ0
aW9uc09ubHkpCkBAIC0yNTUsNiArMjU4LDYgQEAgSlNMb2NrOjpEcm9wQWxsTG9ja3M6On5Ecm9w
QWxsTG9ja3MoKQogewogfQogCi0jZW5kaWYgLy8gVVNFKE1VTFRJUExFX1RIUkVBRFMpCisjZW5k
aWYgLy8gRU5BQkxFKEpTQ19NVUxUSVBMRV9USFJFQURTKSAmJiAoT1MoREFSV0lOKSB8fCBVU0Uo
UFRIUkVBRFMpKQogCiB9IC8vIG5hbWVzcGFjZSBKU0MK
</data>

          </attachment>
      

    </bug>

</bugzilla>