<html>
    <head>
      <base href="http://bugzilla.slf4j.org/" />
    </head>
    <body><span class="vcard"><a class="email" href="mailto:jperkins@redhat.com" title="James R. Perkins <jperkins@redhat.com>"> <span class="fn">James R. Perkins</span></a>
</span> changed
              <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Initialization (getILoggerFactory) is not thread safe"
   href="http://bugzilla.slf4j.org/show_bug.cgi?id=176">bug 176</a>
        <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">CC</td>
           <td>
                
           </td>
           <td>jperkins@redhat.com
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Initialization (getILoggerFactory) is not thread safe"
   href="http://bugzilla.slf4j.org/show_bug.cgi?id=176#c26">Comment # 26</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Initialization (getILoggerFactory) is not thread safe"
   href="http://bugzilla.slf4j.org/show_bug.cgi?id=176">bug 176</a>
              from <span class="vcard"><a class="email" href="mailto:jperkins@redhat.com" title="James R. Perkins <jperkins@redhat.com>"> <span class="fn">James R. Perkins</span></a>
</span></b>
        <pre>(In reply to <a href="show_bug.cgi?id=176#c25">comment #25</a>)
<span class="quote">> (In reply to <a href="show_bug.cgi?id=176#c24">comment #24</a>)
> > Created <span class=""><a href="attachment.cgi?id=101&action=diff" name="attach_101" title="Patch for thread-safety issues during binding">attachment 101</a> <a href="attachment.cgi?id=101&action=edit" title="Patch for thread-safety issues during binding">[details]</a></span>
> > Patch for thread-safety issues during binding
> > 
> > The patch uses the same test previously attached. The implementation is
> > slightly different than the other patch. I don't think the reentrancy
> > checking should be necessary, but I don't know if other bindings actually
> > invoke this method again.

> > // If re-entrant, return the temp factory

> You're making an assumption that it will be re-entrant using the same
> thread. There is no guarantee that this is the case. The binding may be
> calling arbitrary external code that blocks while it does some
> initialisation. This initialisation may be performed with multiple threads
> in parallel, and one of those threads may try to log something.</span >

Sorry for the delayed comment, I just realized I wasn't added to the CC when
adding a comment... ...anyway

Yes, that is the assumption that's being made. If another thread is invoked
from the initialization that attempts to run initialization again, then it will
deadlock. That said, initialization probably shouldn't be doing that. If it
just returned the TEMP_FACTORY we'd be back in a similar position.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>