<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    Hi there,<br>
    <br>
    I think you're doing some 'utopic struggling' here...<br>
    I've been using live555 within a multi-threaded context : it worked,
    more or less, but I always saw my code as a dirty hack, and I was
    glad to see the asynchronous API appear.<br>
    I'll be on Ross' side on this one, because I respect his choices (I
    don't mean I agree with all of them though ;-) )<br>
    You can always make suggestions, but you shouldn't insist like that,
    I'm afraid it's gonna rot into a sterile debate (or worse..)<br>
    <br>
    By the way, nothing prevents you from implementing your own fork,
    with thread support (that would be a big work...)<br>
    <br>
    Best regards,<br>
    Guillaume.<br>
    <br>
    <br>
    Le 18/11/2010 00:18, Jeremy Noring a écrit :
    <blockquote
      cite="mid:AANLkTi=VeY5D2+3pYYdLkCssJhnGJJ4GbC5XSTOOr4YG@mail.gmail.com"
      type="cite">
      <div class="gmail_quote">On Wed, Nov 17, 2010 at 3:23 PM, Ross
        Finlayson <span dir="ltr"><<a moz-do-not-send="true"
            href="mailto:finlayson@live555.com">finlayson@live555.com</a>></span>
        wrote:<br>
         
        <blockquote style="border-left: 1px solid rgb(204, 204, 204);
          margin: 0px 0px 0px 0.8ex; padding-left: 1ex;"
          class="gmail_quote">
          <div>
            <div>Well, I have to admire your stubbornness :-)  Even
              after having presented a perfect example of why that
              statement is false, you continue to insist otherwise.</div>
          </div>
        </blockquote>
        <div> </div>
        <div>I take it back, I will belabor the point.</div>
        <div> </div>
        <div>Yes, this is "stubbornness," and no, you did not present a
          "perfect example of why that statement [was] false."  The
          bottom line is yes, you can run Live555 in a threaded
          environment (I've been doing it for over a year now) so long
          as you have a dedicated thread for the event loop (your own
          FAQ states this).  And there are plenty more ways of
          communicating changes to the event loop besides global
          variables (in fact, doing so is just sloppy-bad code, in my
          opinion; I struggled with some of Live555's crappy global
          variables that made running multiple independent instances
          with dedicated threads run in the same process space).</div>
        <div> </div>
        <div>Furthermore, there is _nothing_ wrong with setting a
          read-only boolean variable that the event loop then
          subsequently checks.  There is almost zero functional
          difference between this and your global variable option. 
          There's nothing stopping someone from doing it that way with
          the change I proposed, and I think saving an additional NULL
          check in exchange for potential threading woes isn't worth it
          (if you're looking to optimize, I can point you towards about
          a dozen things in your library that dwarf such a check).</div>
        <div> </div>
        <div>So fine, attribute it to "stubbornness," but again, the
          patch I posted here has not only been tested but it _works_. 
          It does this in a threaded environment, which your own library
          is completely compatibile with given a few pretty obvious
          caveats (first and foremost, a dedicated thread for the event
          loop).</div>
      </div>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
live-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:live-devel@lists.live555.com">live-devel@lists.live555.com</a>
<a class="moz-txt-link-freetext" href="http://lists.live555.com/mailman/listinfo/live-devel">http://lists.live555.com/mailman/listinfo/live-devel</a>
</pre>
    </blockquote>
    <br>
    <br>
    <div class="moz-signature">-- <br>
      Guillaume FERRY<br>
      Bertin Technologies<br>
      Département Bertin Conseil<br>
      Activité Traitement de l'Information et du Contenu<br>
      <table>
        <tbody>
          <tr>
            <td><i>Tél</i></td>
            <td>01.39.30.62.09</td>
          </tr>
          <tr>
            <td><i>Fax</i></td>
            <td>01.39.30.62.45</td>
          </tr>
          <tr>
            <td><i>Mail</i></td>
            <td><a class="moz-txt-link-abbreviated" href="mailto:ferry@bertin.fr">ferry@bertin.fr</a></td>
          </tr>
          <tr>
            <td><i>Web</i></td>
            <td><a href="http://www.bertin.fr">www.bertin.fr</a></td>
          </tr>
        </tbody>
      </table>
    </div>
  </body>
</html>