OSSP CVS Repository

ossp - Difference in ossp-pkg/pth/ChangeLog versions 1.629 and 1.630
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [History

ossp-pkg/pth/ChangeLog 1.629 -> 1.630

--- ChangeLog    2004/12/03 16:17:54     1.629
+++ ChangeLog    2004/12/03 16:21:08     1.630
@@ -21,6 +21,25 @@
                   
   Changes between 2.0.2 and 2.0.3 (12-Sep-2004 to xx-xxx-2004)
 
+   *) The pth_uctx_save() and pth_uctx_restore() API functions
+      unfortunately were broken by design because they are C
+      _functions_. This leads to one more deadly nesting on the
+      run-time stack which effectively caused the pth_mctx_restore()
+      in pth_uctx_restore() to return to the end of pth_uctx_save()
+      but then the control flow unfortunately returns to the
+      pth_uctx_restore() caller instead of the pth_uctx_save() caller
+      because the call to pth_uctx_restore() had already overwritten the
+      run-time stack position where the original return address for the
+      pth_uctx_save() call was stored.
+      
+      The only workaround would be to #define pth_uctx_save() and
+      pth_uctx_restore() as C _macros_, but this then would require that
+      lots of the GNU Pth internals from pth_mctx.c would have to be
+      exported in the GNU Pth API (which in turn is not acceptable). So,
+      the only consequence is to remove the two functions again from the
+      GNU Pth API.
+      [Ralf S. Engelschall, Stefan Brantschen <sbr@acm.org>]
+
    *) Enhance internal pth_mctx_save() if getcontext(3) is used for the
       machine context saving by better emulating the setjmp(3) style
       return code semantics.

CVSTrac 2.0.1