<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">On 8/30/2020 7:24 PM, David Arnold
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:DCPWFQ.R5DT67Z8T3H11@xoe.solutions">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div id="geary-body" dir="auto">Hot-plugging the pointer seems to
        force atomicity considerations down-stream, which might be
        <div>educationally a good thing for openssl to press for. It
          also addresses Jordan's use case, for however</div>
        <div>application specific it might be. For compat reasons, a
          "legacy" mode which creates a new context</div>
        <div>for *new* connections might be the necessary "bridge" into
          that transformation.</div>
      </div>
    </blockquote>
    <br>
    I haven't particularly thought about the implementation; that seemed
    like Just Work.  There might need to be reference counts on the
    structures involved so that they can be safely "freed" while they
    are in active use by another thread.  Simply swapping out a pointer
    isn't going to be enough because you can't know whether another
    thread already picked up a copy of that pointer and so you can't
    know when you can free the old structure.  As I think about it more,
    there might be a challenge fitting such a mechanism into the
    existing functions.<br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Jordan Brown, Oracle ZFS Storage Appliance, Oracle Solaris</pre>
  </body>
</html>