All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Lee Chin" <leechin@mail.com>
To: sos22@cam.ac.uk, linux-newbie@vger.kernel.org
Subject: Re: suspending a thread and executing it later
Date: Mon, 20 Jan 2003 00:29:49 -0500	[thread overview]
Message-ID: <20030120052949.31230.qmail@mail.com> (raw)

Do pthreads and getcontext/setcontext work nicely with each other?

Thanks
Lee
----- Original Message -----
From: Steven Smith <sos22@cam.ac.uk> 
Date: Sat, 18 Jan 2003 17:46:44 +0000
To: Lee Chin <leechin@mail.com>
Subject: Re: suspending a thread and executing it later

> > Here is what I want to do... in my program, I want to arbitrarily in
> > some function suspend the execution of the current (self) thread and
> > schedule my self to resume from that point later.
> Have a look at ``info libc "Non Local Exits" "System V Contexts"''.
> The basic idea is to have one ucontext per thread.  When the running
> thread wants to block, it picks some other thread, and then
> swapcontext()s with it.
> 
> > In my program, I only have 2 threads... and lets say thread 1 ends
> > up calling a function foo() that will block on IO.  I dont want to
> > make the whole system block, so I want to resume the execution of
> > foo() when the IO completes and restore thread state so that the
> > stack (function call history and all) is maintained.
> The easy way to do this is via pthreads, but if you really want to
> do it yourself, you'll probably need to set every file descriptor
> to non-block mode, and then swapcontext() whenever an IO
> function returns EAGAIN.
> 
> Steven Smith,
> sos22@cam.ac.uk.

-- 
__________________________________________________________
Sign-up for your own FREE Personalized E-mail at Mail.com
http://www.mail.com/?sr=signup

Meet Singles
http://corp.mail.com/lavalife

-
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs

             reply	other threads:[~2003-01-20  5:29 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-01-20  5:29 Lee Chin [this message]
  -- strict thread matches above, loose matches on Subject: below --
2003-01-18 16:33 suspending a thread and executing it later Lee Chin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030120052949.31230.qmail@mail.com \
    --to=leechin@mail.com \
    --cc=linux-newbie@vger.kernel.org \
    --cc=sos22@cam.ac.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.