<?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>114563</bug_id>
          
          <creation_ts>2013-04-13 07:24:06 -0700</creation_ts>
          <short_desc>[WIN] Remove remaining calls to pthread from WTF</short_desc>
          <delta_ts>2013-05-09 13:05:31 -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>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>
          <dependson>114658</dependson>
          <blocked>114694</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>buildbot</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>oliver</cc>
    
    <cc>rniwa</cc>
    
    <cc>roger_fong</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>875152</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-04-13 07:24:06 -0700</bug_when>
    <thetext>[WIN] Remove last calls to pthread from WTF</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>875153</commentid>
    <comment_count>1</comment_count>
      <attachid>197937</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-04-13 07:42:55 -0700</bug_when>
    <thetext>Created attachment 197937
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>875154</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-13 07:44:59 -0700</bug_when>
    <thetext>Attachment 197937 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WTF/ChangeLog&apos;, u&apos;Source/WTF/wtf/FastMalloc.cpp&apos;, u&apos;Source/WTF/wtf/ThreadSpecificWin.cpp&apos;]&quot; exit_code: 1
Source/WTF/wtf/FastMalloc.cpp:2845:  heap_key is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Source/WTF/wtf/FastMalloc.cpp:3434:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 2 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>875158</commentid>
    <comment_count>3</comment_count>
      <attachid>197937</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-04-13 08:18:53 -0700</bug_when>
    <thetext>Comment on attachment 197937
Patch

Attachment 197937 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/143154</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>875164</commentid>
    <comment_count>4</comment_count>
      <attachid>197937</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-04-13 08:26:45 -0700</bug_when>
    <thetext>Comment on attachment 197937
Patch

Attachment 197937 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/148130</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>875170</commentid>
    <comment_count>5</comment_count>
      <attachid>197943</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-04-13 09:15:48 -0700</bug_when>
    <thetext>Created attachment 197943
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>875171</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-13 09:17:49 -0700</bug_when>
    <thetext>Attachment 197943 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WTF/ChangeLog&apos;, u&apos;Source/WTF/wtf/FastMalloc.cpp&apos;, u&apos;Source/WTF/wtf/ThreadSpecificWin.cpp&apos;]&quot; exit_code: 1
Source/WTF/wtf/FastMalloc.cpp:2845:  heap_key is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Source/WTF/wtf/FastMalloc.cpp:3440:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 2 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>875930</commentid>
    <comment_count>7</comment_count>
      <attachid>197943</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-04-15 11:53:13 -0700</bug_when>
    <thetext>Comment on attachment 197943
Patch

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

&gt; Source/WTF/wtf/ThreadSpecificWin.cpp:43
&gt; -    DEFINE_STATIC_LOCAL(DoublyLinkedList&lt;PlatformThreadSpecificKey&gt;, staticList, ());
&gt; +    static DoublyLinkedList&lt;PlatformThreadSpecificKey&gt; staticList;
&gt;      return staticList;
&gt;  }
&gt;  
&gt;  static Mutex&amp; destructorsMutex()
&gt;  {
&gt; -    DEFINE_STATIC_LOCAL(Mutex, staticMutex, ());
&gt; +    static Mutex staticMutex;

Why this change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>876004</commentid>
    <comment_count>8</comment_count>
      <attachid>197943</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-04-15 12:52:09 -0700</bug_when>
    <thetext>Comment on attachment 197943
Patch

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

This change looks good to me, and the EWS seems happy.  If this change is committed, do we get to remove the pthreads library from Windows?

&gt; Source/WTF/wtf/FastMalloc.cpp:-2864
&gt; -    TlsSetValue(tlsIndex, heap);

Don&apos;t we still need to use TlsSetValue?  That&apos;s part of WinAPI IIRC. Or does threadSpecificSet deal with all the different platforms properly?

&gt;&gt; Source/WTF/wtf/ThreadSpecificWin.cpp:43
&gt;&gt; +    static Mutex staticMutex;
&gt; 
&gt; Why this change?

I think it&apos;s because DEFINE_STATIC_LOCAL(type, name, arguments) is defined as &quot;static type&amp; name = *new type arguments&quot;.

&gt; Source/WTF/wtf/ThreadSpecificWin.cpp:96
&gt; +    new (*key) PlatformThreadSpecificKey(destructor);

Is placement new supported on all of our compilers?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>876025</commentid>
    <comment_count>9</comment_count>
      <attachid>197943</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-15 13:22:21 -0700</bug_when>
    <thetext>Comment on attachment 197943
Patch

Clearing flags on attachment: 197943

Committed r148462: &lt;http://trac.webkit.org/changeset/148462&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>876026</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-15 13:22:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>876125</commentid>
    <comment_count>11</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-04-15 16:27:59 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 197943 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=197943&amp;action=review
&gt; 
&gt; This change looks good to me, and the EWS seems happy.  If this change is committed, do we get to remove the pthreads library from Windows?

For JavaScriptCore.dll and WebKit.dll it should be possible now, but I didn&apos;t try it with the &quot;offical build flags&quot; (ENABLE_*). DRT needs at least bug 92505 and bug 92371 fixed.

&gt; &gt; Source/WTF/wtf/FastMalloc.cpp:-2864
&gt; &gt; -    TlsSetValue(tlsIndex, heap);
&gt; 
&gt; Don&apos;t we still need to use TlsSetValue?  That&apos;s part of WinAPI IIRC. Or does threadSpecificSet deal with all the different platforms properly?

It should be possible to use threadSpecificSet() for all platforms, since it provides exactly this abstraction.

&gt; &gt;&gt; Source/WTF/wtf/ThreadSpecificWin.cpp:43
&gt; &gt;&gt; +    static Mutex staticMutex;
&gt; &gt; 
&gt; &gt; Why this change?
&gt; 
&gt; I think it&apos;s because DEFINE_STATIC_LOCAL(type, name, arguments) is defined as &quot;static type&amp; name = *new type arguments&quot;.

Yup.

 
&gt; &gt; Source/WTF/wtf/ThreadSpecificWin.cpp:96
&gt; &gt; +    new (*key) PlatformThreadSpecificKey(destructor);
&gt; 
&gt; Is placement new supported on all of our compilers?

Since we use at many other places already, I would say so. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>876228</commentid>
    <comment_count>12</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-04-15 19:49:30 -0700</bug_when>
    <thetext>This patch broke Windows builds :(

http://build.webkit.org/builders/Apple%20Win%20Release%20%28Build%29/builds/47526</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>876230</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-15 19:50:57 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 114658</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>876241</commentid>
    <comment_count>14</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-04-15 20:17:54 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Re-opened since this is blocked by bug 114658

I&apos;m skeptical that this change created the build failure.  It doesn&apos;t touch JSC or export behavior.

Strange!

I&apos;m trying a Windows build locally to see what happens.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>876243</commentid>
    <comment_count>15</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-04-15 20:23:55 -0700</bug_when>
    <thetext>Odd. The build failed even after the rollout so you&apos;re probably right that this patch isn&apos;t the culprit. I&apos;ve triggered a clean build to see what happens.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>876255</commentid>
    <comment_count>16</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-04-15 20:40:58 -0700</bug_when>
    <thetext>Re-landed in http://trac.webkit.org/changeset/148490.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>876728</commentid>
    <comment_count>17</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-04-16 13:01:30 -0700</bug_when>
    <thetext>I tried removing the &apos;pthreads&apos; include path as a step to excise it from the Windows build, but started getting include errors because the pthread header is used when FORCE_SYSTEM_MALLOC is 0.

This will be zero if USE_SYSTEM_MALLOC is unset.

This change probably works great for WinCE, since USE_SYSTEM_MALLOC is always set, but I&apos;m not sure what the preferred approach is for Apple&apos;s Windows port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>876729</commentid>
    <comment_count>18</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-04-16 13:03:25 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; I tried removing the &apos;pthreads&apos; include path as a step to excise it from the Windows build, but started getting include errors because the pthread header is used when FORCE_SYSTEM_MALLOC is 0.
&gt; 
&gt; This will be zero if USE_SYSTEM_MALLOC is unset.
&gt; 
&gt; This change probably works great for WinCE, since USE_SYSTEM_MALLOC is always set, but I&apos;m not sure what the preferred approach is for Apple&apos;s Windows port.

Why not add a USE(PTHREADS) around the bad include?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887043</commentid>
    <comment_count>19</comment_count>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2013-05-09 13:05:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/13852055&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>197937</attachid>
            <date>2013-04-13 07:42:55 -0700</date>
            <delta_ts>2013-04-13 09:15:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-114563.patch</filename>
            <type>text/plain</type>
            <size>4910</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggMTNlMzhmNi4uNjJhMWJiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMy0wNC0xMyAg
UGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KKworICAgICAgICBbV0lOXSBS
ZW1vdmUgcmVtYWluaW5nIGNhbGxzIHRvIHB0aHJlYWQgZnJvbSBXVEYKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDU2MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlcGxhY2UgcHRocmVhZF9rZXlfY3Jl
YXRlIHdpdGggdGhyZWFkU3BlY2lmaWNLZXlDcmVhdGUgYW5kCisgICAgICAgIHB0aHJlYWRfc2V0
c3BlY2lmaWMgd2l0aCB0aHJlYWRTcGVjaWZpY1NldCBmcm9tIFRocmVhZFNwZWNpZmljLmguCisg
ICAgICAgIFRoZXNlIGZ1bmN0aW9ucyBwcm92aWRlIGEgd2luZG93cy1zcGVjaWZpYyBpbXBsZW1l
bnRhdGlvbiBmb3IgdGhlIHB0aHJlYWQgZnVuY3Rpb25zLAorICAgICAgICBidXQgcmVxdWlyZSB0
aGF0IHRoZSB0aHJlYWQgaGFzIGJlZW4gY3JlYXRlZCB3aXRoIFdURjo6Y3JlYXRlVGhyZWFkKCks
CisgICAgICAgIHdoaWNoIGlzIHRoZSBjYXNlIGZvciBhbGwgdGhyZWFkcyBjcmVhdGVkIHdpdGhp
biBXZWJLaXQuCisgICAgICAgIFRvIGNhbGwgdGhpcyBmdW5jdGlvbiBmcm9tIGZhc3RNYWxsb2Mg
d2UgbXVzdCBub3QgY2FsbCBmYXN0TWFsbG9jIGluIHRoZW0uCisgICAgICAgIFRvIGZ1bGZpbGwg
dGhpcyBjb25zdHJhaW50IFRocmVhZFNwZWNpZmljV2luIHdpbGwgYWxsb2NhdGVkIGl0cyBtZW1v
cnkgdGhyb3VnaCB0aGUKKyAgICAgICAgb3JpZ2luYWwgbWFsbG9jIGltcGxlbWVudGF0aW9uIGFu
ZCB1c2UgdGhlIHN0YWNrIGZvciBsb2NhbCBhbmQgc3RhdGljIHZhcmlhYmxlcy4KKworICAgICAg
ICAqIHd0Zi9GYXN0TWFsbG9jLmNwcDoKKyAgICAgICAgKiB3dGYvVGhyZWFkU3BlY2lmaWNXaW4u
Y3BwOgorICAgICAgICAoV1RGOjpkZXN0cnVjdG9yc0xpc3QpOgorICAgICAgICAoV1RGOjpkZXN0
cnVjdG9yc011dGV4KToKKyAgICAgICAgKFdURjo6dGhyZWFkU3BlY2lmaWNLZXlDcmVhdGUpOgor
ICAgICAgICAoV1RGOjp0aHJlYWRTcGVjaWZpY0tleURlbGV0ZSk6CisKIDIwMTMtMDQtMTIgIE9s
aXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBcG9sb2dpZXMgdG8gYWxs
LCBJIGhhdmUgbm8gaWRlYSB3aGF0IGhhcHBlbmVkIHRvIGNhdXNlIHRoaXMgY2hhbmdlLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvRmFzdE1hbGxvYy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9G
YXN0TWFsbG9jLmNwcAppbmRleCBiMDY2OTU5Li40YTI2YWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9GYXN0TWFsbG9jLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GYXN0TWFsbG9jLmNw
cApAQCAtNDI4LDYgKzQyOCw3IEBAIGV4dGVybiAiQyIgV1RGX0VYUE9SVF9QUklWQVRFIGNvbnN0
IGludCBqc2NvcmVfZmFzdG1hbGxvY19pbnRyb3NwZWN0aW9uID0gMDsKICNpbmNsdWRlICJUQ1Bh
Z2VNYXAuaCIKICNpbmNsdWRlICJUQ1NwaW5Mb2NrLmgiCiAjaW5jbHVkZSAiVENTeXN0ZW1BbGxv
Yy5oIgorI2luY2x1ZGUgIlRocmVhZFNwZWNpZmljLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgog
I2luY2x1ZGUgPHB0aHJlYWQuaD4KICNpbmNsdWRlIDxzdGRhcmcuaD4KQEAgLTI4NDEsMTAgKzI4
NDIsNyBAQCBzdGF0aWMgYm9vbCB0c2RfaW5pdGVkID0gZmFsc2U7CiAjaWYgVVNFKFBUSFJFQURf
R0VUU1BFQ0lGSUNfRElSRUNUKQogc3RhdGljIGNvbnN0IHB0aHJlYWRfa2V5X3QgaGVhcF9rZXkg
PSBfX1BUS19GUkFNRVdPUktfSkFWQVNDUklQVENPUkVfS0VZMDsKICNlbHNlCi1zdGF0aWMgcHRo
cmVhZF9rZXlfdCBoZWFwX2tleTsKLSNlbmRpZgotI2lmIE9TKFdJTkRPV1MpCi1EV09SRCB0bHNJ
bmRleCA9IFRMU19PVVRfT0ZfSU5ERVhFUzsKK3N0YXRpYyBUaHJlYWRTcGVjaWZpY0tleSBoZWFw
X2tleTsKICNlbmRpZgogCiBzdGF0aWMgQUxXQVlTX0lOTElORSB2b2lkIHNldFRocmVhZEhlYXAo
VENNYWxsb2NfVGhyZWFkQ2FjaGUqIGhlYXApCkBAIC0yODU4LDExICsyODU2LDcgQEAgc3RhdGlj
IEFMV0FZU19JTkxJTkUgdm9pZCBzZXRUaHJlYWRIZWFwKFRDTWFsbG9jX1RocmVhZENhY2hlKiBo
ZWFwKQogCiAgICAgLy8gU3RpbGwgZG8gcHRocmVhZF9zZXRzcGVjaWZpYyBldmVuIGlmIHRoZXJl
J3MgYW4gYWx0ZXJuYXRlIGZvcm0KICAgICAvLyBvZiB0aHJlYWQtbG9jYWwgc3RvcmFnZSBpbiB1
c2UsIHRvIGJlbmVmaXQgZnJvbSB0aGUgZGVsZXRlIGNhbGxiYWNrLgotICAgIHB0aHJlYWRfc2V0
c3BlY2lmaWMoaGVhcF9rZXksIGhlYXApOwotCi0jaWYgT1MoV0lORE9XUykKLSAgICBUbHNTZXRW
YWx1ZSh0bHNJbmRleCwgaGVhcCk7Ci0jZW5kaWYKKyAgICB0aHJlYWRTcGVjaWZpY1NldChoZWFw
X2tleSwgaGVhcCk7CiB9CiAKIC8vIEFsbG9jYXRvciBmb3IgdGhyZWFkIGhlYXBzCkBAIC0zNDA3
LDEwICszNDAxLDggQEAgaW5saW5lIFRDTWFsbG9jX1RocmVhZENhY2hlKiBUQ01hbGxvY19UaHJl
YWRDYWNoZTo6R2V0VGhyZWFkSGVhcCgpIHsKICAgICAvLyBfX3RocmVhZCBpcyBmYXN0ZXIsIGJ1
dCBvbmx5IHdoZW4gdGhlIGtlcm5lbCBzdXBwb3J0cyBpdAogICBpZiAoS2VybmVsU3VwcG9ydHNU
TFMoKSkKICAgICByZXR1cm4gdGhyZWFkbG9jYWxfaGVhcDsKLSNlbGlmIE9TKFdJTkRPV1MpCi0g
ICAgcmV0dXJuIHN0YXRpY19jYXN0PFRDTWFsbG9jX1RocmVhZENhY2hlKj4oVGxzR2V0VmFsdWUo
dGxzSW5kZXgpKTsKICNlbHNlCi0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFRDTWFsbG9jX1RocmVh
ZENhY2hlKj4ocHRocmVhZF9nZXRzcGVjaWZpYyhoZWFwX2tleSkpOworICAgIHJldHVybiBzdGF0
aWNfY2FzdDxUQ01hbGxvY19UaHJlYWRDYWNoZSo+KHRocmVhZFNwZWNpZmljR2V0KGhlYXBfa2V5
KSk7CiAjZW5kaWYKIH0KIApAQCAtMzQzOSwxMCArMzQzMSw3IEBAIHZvaWQgVENNYWxsb2NfVGhy
ZWFkQ2FjaGU6OkluaXRUU0QoKSB7CiAjaWYgVVNFKFBUSFJFQURfR0VUU1BFQ0lGSUNfRElSRUNU
KQogICBwdGhyZWFkX2tleV9pbml0X25wKGhlYXBfa2V5LCBEZXN0cm95VGhyZWFkQ2FjaGUpOwog
I2Vsc2UKLSAgcHRocmVhZF9rZXlfY3JlYXRlKCZoZWFwX2tleSwgRGVzdHJveVRocmVhZENhY2hl
KTsKLSNlbmRpZgotI2lmIE9TKFdJTkRPV1MpCi0gIHRsc0luZGV4ID0gVGxzQWxsb2MoKTsKKyAg
dGhyZWFkU3BlY2lmaWNLZXlDcmVhdGUoJmhlYXBfa2V5LCBEZXN0cm95VGhyZWFkQ2FjaGUpOwog
I2VuZGlmCiAgIHRzZF9pbml0ZWQgPSB0cnVlOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3BwIGIvU291cmNlL1dURi93dGYvVGhyZWFkU3BlY2lm
aWNXaW4uY3BwCmluZGV4IDFmYjczOTguLjliNzBiYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL1RocmVhZFNwZWNpZmljV2luLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRTcGVj
aWZpY1dpbi5jcHAKQEAgLTM0LDEzICszNCwxMyBAQCBuYW1lc3BhY2UgV1RGIHsKIAogc3RhdGlj
IERvdWJseUxpbmtlZExpc3Q8UGxhdGZvcm1UaHJlYWRTcGVjaWZpY0tleT4mIGRlc3RydWN0b3Jz
TGlzdCgpCiB7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChEb3VibHlMaW5rZWRMaXN0PFBsYXRm
b3JtVGhyZWFkU3BlY2lmaWNLZXk+LCBzdGF0aWNMaXN0LCAoKSk7CisgICAgc3RhdGljIERvdWJs
eUxpbmtlZExpc3Q8UGxhdGZvcm1UaHJlYWRTcGVjaWZpY0tleT4gc3RhdGljTGlzdDsKICAgICBy
ZXR1cm4gc3RhdGljTGlzdDsKIH0KIAogc3RhdGljIE11dGV4JiBkZXN0cnVjdG9yc011dGV4KCkK
IHsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKE11dGV4LCBzdGF0aWNNdXRleCwgKCkpOworICAg
IHN0YXRpYyBNdXRleCBzdGF0aWNNdXRleDsKICAgICByZXR1cm4gc3RhdGljTXV0ZXg7CiB9CiAK
QEAgLTkxLDcgKzkxLDkgQEAgRFdPUkQqIHRsc0tleXMoKQogCiB2b2lkIHRocmVhZFNwZWNpZmlj
S2V5Q3JlYXRlKFRocmVhZFNwZWNpZmljS2V5KiBrZXksIHZvaWQgKCpkZXN0cnVjdG9yKSh2b2lk
ICopKQogewotICAgICprZXkgPSBuZXcgUGxhdGZvcm1UaHJlYWRTcGVjaWZpY0tleShkZXN0cnVj
dG9yKTsKKyAgICAvLyBVc2UgdGhlIG9yaWdpbmFsIG1hbGxvYygpIGluc3RlYWQgb2YgZmFzdE1h
bGxvYygpIHRvIHVzZSB0aGlzIGZ1bmN0aW9uIGluIEZhc3RNYWxsb2MgY29kZS4KKyAgICAqa2V5
ID0gc3RhdGljX2Nhc3Q8UGxhdGZvcm1UaHJlYWRTcGVjaWZpY0tleSo+KDo6bWFsbG9jKHNpemVv
ZihQbGF0Zm9ybVRocmVhZFNwZWNpZmljS2V5KSkpOworICAgIG5ldyAoKmtleSkgUGxhdGZvcm1U
aHJlYWRTcGVjaWZpY0tleShkZXN0cnVjdG9yKTsKIAogICAgIE11dGV4TG9ja2VyIGxvY2tlcihk
ZXN0cnVjdG9yc011dGV4KCkpOwogICAgIGRlc3RydWN0b3JzTGlzdCgpLnB1c2goKmtleSk7CkBA
IC0xMDEsNyArMTAzLDggQEAgdm9pZCB0aHJlYWRTcGVjaWZpY0tleURlbGV0ZShUaHJlYWRTcGVj
aWZpY0tleSBrZXkpCiB7CiAgICAgTXV0ZXhMb2NrZXIgbG9ja2VyKGRlc3RydWN0b3JzTXV0ZXgo
KSk7CiAgICAgZGVzdHJ1Y3RvcnNMaXN0KCkucmVtb3ZlKGtleSk7Ci0gICAgZGVsZXRlIGtleTsK
KyAgICBrZXktPn5QbGF0Zm9ybVRocmVhZFNwZWNpZmljS2V5KCk7CisgICAgOjpmcmVlKGtleSk7
CiB9CiAKIHZvaWQgdGhyZWFkU3BlY2lmaWNTZXQoVGhyZWFkU3BlY2lmaWNLZXkga2V5LCB2b2lk
KiBkYXRhKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>197943</attachid>
            <date>2013-04-13 09:15:48 -0700</date>
            <delta_ts>2013-04-15 13:22:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-114563-20130413181524.patch</filename>
            <type>text/plain</type>
            <size>5274</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ4MzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDEzZTM4ZjYzMzJlZmI0OGVkNTllOTE1
NDI2MzU0NGJjOWMwMzk5ZjcuLjIzMWQxZTY4NmNlYmExOWEwZWFkNmZjNTIzMGViMTZkMTY0MzBh
MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTMtMDQtMTMgIFBhdHJpY2sgR2Fuc3RlcmVyICA8
cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW1dJTl0gUmVtb3ZlIHJlbWFpbmluZyBjYWxs
cyB0byBwdGhyZWFkIGZyb20gV1RGCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTQ1NjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSZXBsYWNlIHB0aHJlYWRfa2V5X2NyZWF0ZSB3aXRoIHRocmVhZFNwZWNp
ZmljS2V5Q3JlYXRlIGFuZAorICAgICAgICBwdGhyZWFkX3NldHNwZWNpZmljIHdpdGggdGhyZWFk
U3BlY2lmaWNTZXQgZnJvbSBUaHJlYWRTcGVjaWZpYy5oLgorICAgICAgICBUaGVzZSBmdW5jdGlv
bnMgcHJvdmlkZSBhIHdpbmRvd3Mtc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBwdGhy
ZWFkIGZ1bmN0aW9ucywKKyAgICAgICAgYnV0IHJlcXVpcmUgdGhhdCB0aGUgdGhyZWFkIGhhcyBi
ZWVuIGNyZWF0ZWQgd2l0aCBXVEY6OmNyZWF0ZVRocmVhZCgpLAorICAgICAgICB3aGljaCBpcyB0
aGUgY2FzZSBmb3IgYWxsIHRocmVhZHMgY3JlYXRlZCB3aXRoaW4gV2ViS2l0LgorICAgICAgICBU
byBjYWxsIHRoaXMgZnVuY3Rpb24gZnJvbSBmYXN0TWFsbG9jIHdlIG11c3Qgbm90IGNhbGwgZmFz
dE1hbGxvYyBpbiB0aGVtLgorICAgICAgICBUbyBmdWxmaWxsIHRoaXMgY29uc3RyYWludCBUaHJl
YWRTcGVjaWZpY1dpbiB3aWxsIGFsbG9jYXRlZCBpdHMgbWVtb3J5IHRocm91Z2ggdGhlCisgICAg
ICAgIG9yaWdpbmFsIG1hbGxvYyBpbXBsZW1lbnRhdGlvbiBhbmQgdXNlIHRoZSBzdGFjayBmb3Ig
bG9jYWwgYW5kIHN0YXRpYyB2YXJpYWJsZXMuCisgICAgICAgIEtlZXAgdGhlIERhcndpbiBpbXBs
ZW1lbnRhdGlvbiBhcyBpdCBpcywgc2luY2UgaXQgY29udGFpbnMgc29tZSBwZXJmb3JtYW5jZSB0
d2Vha3MuCisKKyAgICAgICAgKiB3dGYvRmFzdE1hbGxvYy5jcHA6CisgICAgICAgICogd3RmL1Ro
cmVhZFNwZWNpZmljV2luLmNwcDoKKyAgICAgICAgKFdURjo6ZGVzdHJ1Y3RvcnNMaXN0KToKKyAg
ICAgICAgKFdURjo6ZGVzdHJ1Y3RvcnNNdXRleCk6CisgICAgICAgIChXVEY6OnRocmVhZFNwZWNp
ZmljS2V5Q3JlYXRlKToKKyAgICAgICAgKFdURjo6dGhyZWFkU3BlY2lmaWNLZXlEZWxldGUpOgor
CiAyMDEzLTA0LTEyICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAgICAg
QXBvbG9naWVzIHRvIGFsbCwgSSBoYXZlIG5vIGlkZWEgd2hhdCBoYXBwZW5lZCB0byBjYXVzZSB0
aGlzIGNoYW5nZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuY3BwIGIv
U291cmNlL1dURi93dGYvRmFzdE1hbGxvYy5jcHAKaW5kZXggYjA2Njk1OTczOWJjMjk3ZTNiZmMy
YjhlZDhkMjExNDg0MWQ4ZmM4ZC4uNDU3ZjU5MWU3MTZhMDgwNDkyMDM3YTBkNWFiZWFiMjRlYzRl
NTMyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRmFzdE1hbGxvYy5jcHAKKysrIGIvU291
cmNlL1dURi93dGYvRmFzdE1hbGxvYy5jcHAKQEAgLTQyOCw2ICs0MjgsNyBAQCBleHRlcm4gIkMi
IFdURl9FWFBPUlRfUFJJVkFURSBjb25zdCBpbnQganNjb3JlX2Zhc3RtYWxsb2NfaW50cm9zcGVj
dGlvbiA9IDA7CiAjaW5jbHVkZSAiVENQYWdlTWFwLmgiCiAjaW5jbHVkZSAiVENTcGluTG9jay5o
IgogI2luY2x1ZGUgIlRDU3lzdGVtQWxsb2MuaCIKKyNpbmNsdWRlICJUaHJlYWRTcGVjaWZpYy5o
IgogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDxwdGhyZWFkLmg+CiAjaW5jbHVkZSA8
c3RkYXJnLmg+CkBAIC0yODQxLDEwICsyODQyLDcgQEAgc3RhdGljIGJvb2wgdHNkX2luaXRlZCA9
IGZhbHNlOwogI2lmIFVTRShQVEhSRUFEX0dFVFNQRUNJRklDX0RJUkVDVCkKIHN0YXRpYyBjb25z
dCBwdGhyZWFkX2tleV90IGhlYXBfa2V5ID0gX19QVEtfRlJBTUVXT1JLX0pBVkFTQ1JJUFRDT1JF
X0tFWTA7CiAjZWxzZQotc3RhdGljIHB0aHJlYWRfa2V5X3QgaGVhcF9rZXk7Ci0jZW5kaWYKLSNp
ZiBPUyhXSU5ET1dTKQotRFdPUkQgdGxzSW5kZXggPSBUTFNfT1VUX09GX0lOREVYRVM7CitzdGF0
aWMgVGhyZWFkU3BlY2lmaWNLZXkgaGVhcF9rZXk7CiAjZW5kaWYKIAogc3RhdGljIEFMV0FZU19J
TkxJTkUgdm9pZCBzZXRUaHJlYWRIZWFwKFRDTWFsbG9jX1RocmVhZENhY2hlKiBoZWFwKQpAQCAt
Mjg1NiwxMiArMjg1NCwxMiBAQCBzdGF0aWMgQUxXQVlTX0lOTElORSB2b2lkIHNldFRocmVhZEhl
YXAoVENNYWxsb2NfVGhyZWFkQ2FjaGUqIGhlYXApCiAgICAgICAgIENSQVNIKCk7CiAjZW5kaWYK
IAorI2lmIE9TKERBUldJTikKICAgICAvLyBTdGlsbCBkbyBwdGhyZWFkX3NldHNwZWNpZmljIGV2
ZW4gaWYgdGhlcmUncyBhbiBhbHRlcm5hdGUgZm9ybQogICAgIC8vIG9mIHRocmVhZC1sb2NhbCBz
dG9yYWdlIGluIHVzZSwgdG8gYmVuZWZpdCBmcm9tIHRoZSBkZWxldGUgY2FsbGJhY2suCiAgICAg
cHRocmVhZF9zZXRzcGVjaWZpYyhoZWFwX2tleSwgaGVhcCk7Ci0KLSNpZiBPUyhXSU5ET1dTKQot
ICAgIFRsc1NldFZhbHVlKHRsc0luZGV4LCBoZWFwKTsKKyNlbHNlCisgICAgdGhyZWFkU3BlY2lm
aWNTZXQoaGVhcF9rZXksIGhlYXApOwogI2VuZGlmCiB9CiAKQEAgLTM0MDcsMTAgKzM0MDUsMTAg
QEAgaW5saW5lIFRDTWFsbG9jX1RocmVhZENhY2hlKiBUQ01hbGxvY19UaHJlYWRDYWNoZTo6R2V0
VGhyZWFkSGVhcCgpIHsKICAgICAvLyBfX3RocmVhZCBpcyBmYXN0ZXIsIGJ1dCBvbmx5IHdoZW4g
dGhlIGtlcm5lbCBzdXBwb3J0cyBpdAogICBpZiAoS2VybmVsU3VwcG9ydHNUTFMoKSkKICAgICBy
ZXR1cm4gdGhyZWFkbG9jYWxfaGVhcDsKLSNlbGlmIE9TKFdJTkRPV1MpCi0gICAgcmV0dXJuIHN0
YXRpY19jYXN0PFRDTWFsbG9jX1RocmVhZENhY2hlKj4oVGxzR2V0VmFsdWUodGxzSW5kZXgpKTsK
LSNlbHNlCisjZWxpZiBPUyhEQVJXSU4pCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFRDTWFsbG9j
X1RocmVhZENhY2hlKj4ocHRocmVhZF9nZXRzcGVjaWZpYyhoZWFwX2tleSkpOworI2Vsc2UKKyAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8VENNYWxsb2NfVGhyZWFkQ2FjaGUqPih0aHJlYWRTcGVjaWZp
Y0dldChoZWFwX2tleSkpOwogI2VuZGlmCiB9CiAKQEAgLTM0MzksMTAgKzM0MzcsNyBAQCB2b2lk
IFRDTWFsbG9jX1RocmVhZENhY2hlOjpJbml0VFNEKCkgewogI2lmIFVTRShQVEhSRUFEX0dFVFNQ
RUNJRklDX0RJUkVDVCkKICAgcHRocmVhZF9rZXlfaW5pdF9ucChoZWFwX2tleSwgRGVzdHJveVRo
cmVhZENhY2hlKTsKICNlbHNlCi0gIHB0aHJlYWRfa2V5X2NyZWF0ZSgmaGVhcF9rZXksIERlc3Ry
b3lUaHJlYWRDYWNoZSk7Ci0jZW5kaWYKLSNpZiBPUyhXSU5ET1dTKQotICB0bHNJbmRleCA9IFRs
c0FsbG9jKCk7CisgIHRocmVhZFNwZWNpZmljS2V5Q3JlYXRlKCZoZWFwX2tleSwgRGVzdHJveVRo
cmVhZENhY2hlKTsKICNlbmRpZgogICB0c2RfaW5pdGVkID0gdHJ1ZTsKICAgICAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcCBiL1NvdXJjZS9XVEYvd3Rm
L1RocmVhZFNwZWNpZmljV2luLmNwcAppbmRleCAxZmI3Mzk4ZTIxNzZhZDk2M2U5YWRmZDZkM2E0
M2ZmODUxODEwOWJmLi45YjcwYmJiY2FhNmFkNDRkNThjYmNiNzRlZDU5NDg1ZjhiNjJkMzhhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKKysrIGIvU291
cmNlL1dURi93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3BwCkBAIC0zNCwxMyArMzQsMTMgQEAgbmFt
ZXNwYWNlIFdURiB7CiAKIHN0YXRpYyBEb3VibHlMaW5rZWRMaXN0PFBsYXRmb3JtVGhyZWFkU3Bl
Y2lmaWNLZXk+JiBkZXN0cnVjdG9yc0xpc3QoKQogewotICAgIERFRklORV9TVEFUSUNfTE9DQUwo
RG91Ymx5TGlua2VkTGlzdDxQbGF0Zm9ybVRocmVhZFNwZWNpZmljS2V5Piwgc3RhdGljTGlzdCwg
KCkpOworICAgIHN0YXRpYyBEb3VibHlMaW5rZWRMaXN0PFBsYXRmb3JtVGhyZWFkU3BlY2lmaWNL
ZXk+IHN0YXRpY0xpc3Q7CiAgICAgcmV0dXJuIHN0YXRpY0xpc3Q7CiB9CiAKIHN0YXRpYyBNdXRl
eCYgZGVzdHJ1Y3RvcnNNdXRleCgpCiB7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChNdXRleCwg
c3RhdGljTXV0ZXgsICgpKTsKKyAgICBzdGF0aWMgTXV0ZXggc3RhdGljTXV0ZXg7CiAgICAgcmV0
dXJuIHN0YXRpY011dGV4OwogfQogCkBAIC05MSw3ICs5MSw5IEBAIERXT1JEKiB0bHNLZXlzKCkK
IAogdm9pZCB0aHJlYWRTcGVjaWZpY0tleUNyZWF0ZShUaHJlYWRTcGVjaWZpY0tleSoga2V5LCB2
b2lkICgqZGVzdHJ1Y3Rvcikodm9pZCAqKSkKIHsKLSAgICAqa2V5ID0gbmV3IFBsYXRmb3JtVGhy
ZWFkU3BlY2lmaWNLZXkoZGVzdHJ1Y3Rvcik7CisgICAgLy8gVXNlIHRoZSBvcmlnaW5hbCBtYWxs
b2MoKSBpbnN0ZWFkIG9mIGZhc3RNYWxsb2MoKSB0byB1c2UgdGhpcyBmdW5jdGlvbiBpbiBGYXN0
TWFsbG9jIGNvZGUuCisgICAgKmtleSA9IHN0YXRpY19jYXN0PFBsYXRmb3JtVGhyZWFkU3BlY2lm
aWNLZXkqPig6Om1hbGxvYyhzaXplb2YoUGxhdGZvcm1UaHJlYWRTcGVjaWZpY0tleSkpKTsKKyAg
ICBuZXcgKCprZXkpIFBsYXRmb3JtVGhyZWFkU3BlY2lmaWNLZXkoZGVzdHJ1Y3Rvcik7CiAKICAg
ICBNdXRleExvY2tlciBsb2NrZXIoZGVzdHJ1Y3RvcnNNdXRleCgpKTsKICAgICBkZXN0cnVjdG9y
c0xpc3QoKS5wdXNoKCprZXkpOwpAQCAtMTAxLDcgKzEwMyw4IEBAIHZvaWQgdGhyZWFkU3BlY2lm
aWNLZXlEZWxldGUoVGhyZWFkU3BlY2lmaWNLZXkga2V5KQogewogICAgIE11dGV4TG9ja2VyIGxv
Y2tlcihkZXN0cnVjdG9yc011dGV4KCkpOwogICAgIGRlc3RydWN0b3JzTGlzdCgpLnJlbW92ZShr
ZXkpOwotICAgIGRlbGV0ZSBrZXk7CisgICAga2V5LT5+UGxhdGZvcm1UaHJlYWRTcGVjaWZpY0tl
eSgpOworICAgIDo6ZnJlZShrZXkpOwogfQogCiB2b2lkIHRocmVhZFNwZWNpZmljU2V0KFRocmVh
ZFNwZWNpZmljS2V5IGtleSwgdm9pZCogZGF0YSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>