Re: [Linux-ia64] setjmp/longjmp redux

From: David Mosberger <davidm_at_hpl.hp.com>
Date: 2001-06-15 06:06:12
>>>>> On Thu, 14 Jun 2001 15:15:09 -0400, chas williams <chas@cmf.nrl.navy.mil> said:

  Chas> hi, new to the list but i did a little reading of the archives
  Chas> and it seems that setjmp/longjmp cant do what i need -- switch
  Chas> the stack.

  Chas> why do i want to do this?  i am working on porting openafs
  Chas> which provides its own thread library (called lwp) that is
  Chas> implemented with setjmp/longjmp.  what needs to be done in
  Chas> order to make this work?  based on my reading it seems that
  Chas> ar.rnat (???) need to be saved between the context switches?
  Chas> i dont know much about the ia64 architecture so if someone
  Chas> could give me some pointers i would be grateful.

For synchronous context switches ("co-routines"), use
makecontext()/setcontext() et al.  They have been added to glibc
recently.  If you're not familiar with these routines, there is an
example in the glibc source tree in stdlib/tst-setcontext.c.
Additional usage notes can be found in in answer 4.10 of the glibc
FAQ.

	--david
Received on Thu Jun 14 13:09:56 2001

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:04 EST