<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Hi Ambarish,</p>
    <p> Thank you for removing the lock. <br>
    </p>
    <p>But I still do not understand the root cause.
      <meta http-equiv="content-type" content="text/html;
        charset=windows-1252">
      waitForEvents() is only called on the toolkit thread How it could
      be executed concurrently? <br>
    </p>
    <p>Are you able to reproduce the issue? Are you sure that correcting
      method IDs initialization really fixes it? <br>
    </p>
    <p>--Semyon</p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 7/8/2016 4:24 PM, Ambarish Rapte
      wrote:<br>
    </div>
    <blockquote cite="mid:71eb028b-e691-479f-b06d-3c6cba38710f@default"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <meta name="Generator" content="Microsoft Word 12 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"Times New Roman \, serif";}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";
        color:black;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        color:black;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";
        color:black;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:16927935;
        mso-list-type:hybrid;
        mso-list-template-ids:1565843172 -1149439290 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:2;
        mso-level-number-format:bullet;
        mso-level-text:\F0F0;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.75in;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:"Times New Roman";
        mso-bidi-font-family:"Times New Roman";}
@list l0:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1
        {mso-list-id:107243205;
        mso-list-type:hybrid;
        mso-list-template-ids:-1206473858 323883818 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l1:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.75in;
        text-indent:-.25in;}
@list l1:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2
        {mso-list-id:904531106;
        mso-list-type:hybrid;
        mso-list-template-ids:-1584505382 2104147150 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l2:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.75in;
        text-indent:-.25in;}
@list l2:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3
        {mso-list-id:1484665695;
        mso-list-type:hybrid;
        mso-list-template-ids:290485046 2090117850 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l3:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.75in;
        text-indent:-.25in;}
@list l4
        {mso-list-id:1567691066;
        mso-list-type:hybrid;
        mso-list-template-ids:-723592614 -1889384092 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l4:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.75in;
        text-indent:-.25in;}
@list l4:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l4:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l4:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l4:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l4:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l4:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l4:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l4:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal">Hi Semyon,<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">                Thanks for the review.<o:p></o:p></p>
        <p class="MsoNormal">                Please review the
          webrev.01, updated as per the review comments.<o:p></o:p></p>
        <p class="MsoNormal"><span style="color:#1F497D">               
            <a moz-do-not-send="true"
              href="http://cr.openjdk.java.net/%7Earapte/8146230/webrev.01/">http://cr.openjdk.java.net/~arapte/8146230/webrev.01/</a><o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">               
          </span>Changes:<o:p></o:p></p>
        <p class="MsoNormal">                Initializing the thread
          class references in <span
            style="font-size:12.0pt;font-family:"Times New
            Roman","serif"">Java_sun_awt_X11_XToolkit_initIDs()</span><o:p></o:p></p>
        <p class="MsoNormal">                As you guided,<o:p></o:p></p>
        <p class="MsoListParagraph"
          style="margin-left:.75in;text-indent:-.25in;mso-list:l3 level1
          lfo9"><!--[if !supportLists]--><span style="mso-list:Ignore">1.<span
              style="font:7.0pt "Times New Roman"">       </span></span><!--[endif]-->LOCK
          on toolkit thread will be avoided by this change.<o:p></o:p></p>
        <p class="MsoListParagraph"
          style="margin-left:.75in;text-indent:-.25in;mso-list:l3 level1
          lfo9"><!--[if !supportLists]--><span style="mso-list:Ignore">2.<span
              style="font:7.0pt "Times New Roman"">       </span></span><!--[endif]--><span
            style="font-size:12.0pt;font-family:"Times New
            Roman","serif"">awtJNI_ThreadYield() </span>is
          called for even when just a Frame object is created, which is
          a case of almost all basic programs.<br>
          Hence it can be early initialized.         <o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">                But regarding, <span
            style="font-size:12.0pt;font-family:"Times New
            Roman","serif"">XToolkit.c::get_xawt_root_shell()</span> function.<o:p></o:p></p>
        <p class="MsoNormal">                Verified with few sample
          programs with Frame, this function is not always called.<o:p></o:p></p>
        <p class="MsoNormal">                Hence it can be kept as
          delayed initialization, when required.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">Regards,<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">Ambarish            
            <o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <div>
          <div style="border:none;border-top:solid #B5C4DF
            1.0pt;padding:3.0pt 0in 0in 0in">
            <p class="MsoNormal"><b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">From:</span></b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">
                Semyon Sadetsky <br>
                <b>Sent:</b> Thursday, July 07, 2016 7:27 PM<br>
                <b>To:</b> Ambarish Rapte; Sergey Bylokhov; Alexander
                Scherbatiy; Prasanta Sadhukhan; <a class="moz-txt-link-abbreviated" href="mailto:awt-dev@openjdk.java.net">awt-dev@openjdk.java.net</a><br>
                <b>Subject:</b> Re: Review Request For 8146230: Crash in
JNI_ArgumentPusherVaArg::JNI_ArgumentPusherVaArg(_jmethodID*,
                __va_list_tag*)+0xa<o:p></o:p></span></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
        <div>
          <p class="MsoNormal">On 07.07.2016 16:14, Ambarish Rapte
            wrote:<o:p></o:p></p>
        </div>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal">Hi Semyon,<o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D">               
            </span>1. The _initIDs() functions are called from static
            initialization block of particular class, hence these
            functions would be called when class is getting loaded.<o:p></o:p></p>
          <p class="MsoNormal" style="margin-left:.5in">     The<span
              style="color:#1F497D"> </span>_initIDs() functions are
            used to initialize the IDs & get value of Java class
            members only.<o:p></o:p></p>
          <p class="MsoNormal">                                For
            example:<o:p></o:p></p>
          <p class="MsoNormal" style="margin-left:.5in;text-indent:.5in">Java_sun_awt_X11_XToolkit_initIDs() 
            initializes IDs and gets value from java side XToolkit class
            (XToolkit.java)<o:p></o:p></p>
        </blockquote>
        <p class="MsoNormal"><span
            style="font-size:12.0pt;font-family:"Times New
            Roman","serif"">awtJNI_ThreadYield() is only
            used by the XToolkit. I don't see anything bad if it will be
            initialized there. <o:p></o:p></span></p>
        <p class="MsoNormal" style="text-indent:.5in"> <o:p></o:p></p>
        <p class="MsoNormal">                2.  But 
          awtJNI_ThreadYield()  is late initialization of IDs. IDs are
          initialized when first thread has to be yield.<o:p></o:p></p>
        <p class="MsoNormal"><span
            style="font-size:12.0pt;font-family:"Times New
            Roman","serif"">Is lazy initialization really
            necessary? It looks like the method ID is used always. <o:p></o:p></span></p>
        <p class="MsoNormal"> <o:p></o:p></p>
        <p class="MsoListParagraph"
          style="margin-left:.75in;text-indent:-.25in;mso-list:l0 level1
          lfo2"><!--[if !supportLists]--><span
            style="font-family:Wingdings"><span style="mso-list:Ignore">ð<span
                style="font:7.0pt "Times New Roman"">  </span></span></span><!--[endif]--> Addition
          of operations to Java_sun_awt_X11_XToolkit_initIDs() is
          addition to class load time.<o:p></o:p></p>
        <p class="MsoNormal"><span
            style="font-size:12.0pt;font-family:"Times New
            Roman","serif"">Lock also introduces delay.
            Also it maybe a source for deadlocks. Locking toolkit thread
            using global lock object should be really justified.<br>
            <br>
            <o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="margin-left:.75in;text-indent:-.25in;mso-list:l0 level1
          lfo2"><!--[if !supportLists]--><span
            style="font-family:Wingdings"><span style="mso-list:Ignore">ð<span
                style="font:7.0pt "Times New Roman"">  </span></span></span><!--[endif]--> XToolkit.c::get_xawt_root_shell() 
          is another example of late initialization of jclass,
          jmethodID.<o:p></o:p></p>
        <p class="MsoNormal"><span
            style="font-size:12.0pt;font-family:"Times New
            Roman","serif"">Should it be fixed as well?<br>
            <br>
            --Semyon<br>
            <br>
            <o:p></o:p></span></p>
        <p class="MsoNormal"> <o:p></o:p></p>
        <p class="MsoNormal"> <o:p></o:p></p>
        <p class="MsoNormal">Regards,<o:p></o:p></p>
        <p class="MsoNormal">Ambarish<o:p></o:p></p>
        <p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
        <div>
          <div style="border:none;border-top:solid #B5C4DF
            1.0pt;padding:3.0pt 0in 0in 0in">
            <p class="MsoNormal"><b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">From:</span></b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">
                Semyon Sadetsky <br>
                <b>Sent:</b> Wednesday, July 06, 2016 11:39 PM<br>
                <b>To:</b> Ambarish Rapte; Sergey Bylokhov; Alexander
                Scherbatiy; Prasanta Sadhukhan; <a
                  moz-do-not-send="true"
                  href="mailto:awt-dev@openjdk.java.net"><a class="moz-txt-link-abbreviated" href="mailto:awt-dev@openjdk.java.net">awt-dev@openjdk.java.net</a></a><br>
                <b>Subject:</b> Re: Review Request For 8146230: Crash in
JNI_ArgumentPusherVaArg::JNI_ArgumentPusherVaArg(_jmethodID*,
                __va_list_tag*)+0xa</span><o:p></o:p></p>
          </div>
        </div>
        <p class="MsoNormal"> <o:p></o:p></p>
        <p class="MsoNormal" style="margin-bottom:12.0pt">Hi Ambarish,<br>
          <br>
          Why not simply initialize yieldMethodID separately? For
          example in Java_sun_awt_X11_XToolkit_initIDs.<br>
          <br>
          --Semyon<o:p></o:p></p>
        <div>
          <p class="MsoNormal">On 06.07.2016 14:23, Ambarish Rapte
            wrote:<o:p></o:p></p>
        </div>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal">Hi,<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">                Please review the fix for
            JDK9,<o:p></o:p></p>
          <p class="MsoNormal">                Bug: <a
              moz-do-not-send="true"
              href="https://bugs.openjdk.java.net/browse/JDK-8146230"><a class="moz-txt-link-freetext" href="https://bugs.openjdk.java.net/browse/JDK-8146230">https://bugs.openjdk.java.net/browse/JDK-8146230</a></a><o:p></o:p></p>
          <p class="MsoNormal">                Webrev: <a
              moz-do-not-send="true"
              href="http://cr.openjdk.java.net/%7Earapte/8146230/webrev.00/"><a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~arapte/8146230/webrev.00/">http://cr.openjdk.java.net/~arapte/8146230/webrev.00/</a></a><o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">Issue:<o:p></o:p></p>
          <p class="MsoListParagraph"
            style="margin-left:.75in;text-indent:-.25in;mso-list:l2
            level1 lfo4"><!--[if !supportLists]--><span
              style="mso-list:Ignore">1.<span style="font:7.0pt
                "Times New Roman"">       </span></span><!--[endif]-->Null
            pointer exception in JNI<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">Cause:<o:p></o:p></p>
          <p class="MsoListParagraph" style="margin-left:.75in">The code
            block was not multi thread safe.<o:p></o:p></p>
          <p class="MsoListParagraph" style="margin-left:.75in">Issue
            occurs in  multi threaded , multi processor environment.<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">Fix:<o:p></o:p></p>
          <p class="MsoListParagraph"
            style="margin-left:.75in;text-indent:-.25in;mso-list:l4
            level1 lfo6"><!--[if !supportLists]--><span
              style="mso-list:Ignore">1.<span style="font:7.0pt
                "Times New Roman"">       </span></span><!--[endif]-->Changed
            the variable used for double checking, to use  <i>yieldMethodID
              .</i><o:p></o:p></p>
          <p class="MsoListParagraph"
            style="margin-left:.75in;text-indent:-.25in;mso-list:l4
            level1 lfo6"><!--[if !supportLists]--><span
              style="mso-list:Ignore">2.<span style="font:7.0pt
                "Times New Roman"">       </span></span><!--[endif]-->Changed
            <i>yieldMethodID  to  volatile.</i><o:p></o:p></p>
          <p class="MsoListParagraph"
            style="margin-left:.75in;text-indent:-.25in;mso-list:l4
            level1 lfo6"><!--[if !supportLists]--><span
              style="mso-list:Ignore">3.<span style="font:7.0pt
                "Times New Roman"">       </span></span><!--[endif]-->Added
            AWT_LOCK() over initialize block of code.<o:p></o:p></p>
          <p class="MsoListParagraph"
            style="margin-left:.75in;text-indent:-.25in;mso-list:l4
            level1 lfo6"><!--[if !supportLists]--><span
              style="mso-list:Ignore">4.<span style="font:7.0pt
                "Times New Roman"">       </span></span><!--[endif]-->Removed
            unrequired  err variable.<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal" style="margin-left:.5in">A drawback of
            Double Check Locking ( DCL ) is, if the resource assignment
            is not an atomic operation, The DCL may fail.<o:p></o:p></p>
          <p class="MsoNormal" style="margin-left:.5in">But here in the
            code of concern, is an atomic operation. Hence DCL should
            work fine.<o:p></o:p></p>
          <p class="MsoNormal" style="margin-left:.5in">Please check
            below reference link for more detailed discussion of DCL
            with C++.<o:p></o:p></p>
          <p class="MsoListParagraph" style="margin-left:.75in"> <o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">Verification:<o:p></o:p></p>
          <p class="MsoListParagraph"
            style="margin-left:.75in;text-indent:-.25in;mso-list:l1
            level1 lfo8"><!--[if !supportLists]--><span
              style="mso-list:Ignore">1.<span style="font:7.0pt
                "Times New Roman"">       </span></span><!--[endif]-->Tested
            Event tests which pass without any regression of this
            change.<o:p></o:p></p>
          <p class="MsoListParagraph"
            style="margin-left:.75in;text-indent:-.25in;mso-list:l1
            level1 lfo8"><!--[if !supportLists]--><span
              style="mso-list:Ignore">2.<span style="font:7.0pt
                "Times New Roman"">       </span></span><!--[endif]-->As
            this change only corrects existing logic, there should be no
            side effects.<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">Reference:<o:p></o:p></p>
          <p class="MsoNormal">                C++ and the Perils of
            Double-Checked Locking:  <a moz-do-not-send="true"
              href="http://www.aristeia.com/Papers/DDJ_Jul_Aug_2004_revised.pdf">http://www.aristeia.com/Papers/DDJ_Jul_Aug_2004_revised.pdf</a><o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">Regards,<o:p></o:p></p>
          <p class="MsoNormal">Ambarish<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
        </blockquote>
        <p class="MsoNormal"><span
            style="font-size:12.0pt;font-family:"Times New Roman ,
            serif","serif""> </span><o:p></o:p></p>
        <p class="MsoNormal"><span
            style="font-size:12.0pt;font-family:"Times New
            Roman","serif""><o:p> </o:p></span></p>
      </div>
    </blockquote>
    <br>
  </body>
</html>