OSSP CVS Repository

ossp - History for /ossp-pkg/pth/pth_uctx.c
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [Directory]  [Show Milestones

DateVersion Description
2007-Jan-01 19:23    1.7    Check-in [5677]: Adjusted all copyright messages for new year 2007. By rse. (diff)
2006-Jun-08 19:54    1.6    Check-in [5405]: Adjusted all copyright messages for new year 2006 By rse. (diff)
2004-Dec-31 20:34    1.5    Check-in [4944]: Adjusted all copyright messages for new year 2005. By rse. (diff)
2004-Dec-03 17:21    1.4    Check-in [4888]: 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.

Prompted by hints from: Stefan Brantschen <sbr@acm.org> By rse. (diff)

2004-Jul-13 12:50    1.3    Check-in [4639]: Adjusted all copyright messages for new year 2004. By rse. (diff)
2003-Jan-01 16:49    1.2    Check-in [3061]: Adjusted all copyright messages for new year 2003. By rse. (diff)
2002-Nov-03 10:59    1.1    Check-in [2718]: Added a stand-alone sub-API for manual user-space context switching. It is somewhat modeled after the POSIX ucontext(3) facility and consists of an opaque data type pth_uctx_t and the management functions pth_uctx_create(), pth_uctx_make(), pth_uctx_save(), pth_uctx_restore(), pth_uctx_switch() and pth_uctx_destroy(). These functions are based on the same underlying machine context switching facility (pth_mctx) the threads in GNU Pth are using. This facility can be used to implement co-routines without a full real multithreading environment or even to implement an own multithreading environment. By rse.

CVSTrac 2.0.1