From mboxrd@z Thu Jan 1 00:00:00 1970 References: From: "steve@quintile.net" Content-Type: multipart/alternative; boundary=Apple-Mail-0D26B469-A596-49D7-8CE4-3F587776343D In-Reply-To: Message-Id: <05F47572-DCD2-4AF1-9C84-0BFD846492B3@quintile.net> Date: Thu, 9 Jul 2015 17:12:10 +0100 To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (1.0) Subject: Re: [9fans] rsc's libtask on embedded Topicbox-Message-UUID: 5fe8d992-ead9-11e9-9d60-3106f5b1d025 --Apple-Mail-0D26B469-A596-49D7-8CE4-3F587776343D Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable I looked at proto, they are just state machines pretending to be threads (im= ho) - not my style. libtask for me, I hope I can slice it a little and put the non-bear-metal bi= ts in seperate files so I can offer the changes back. co routines plus channels is exactly what I want. -Steve > On 9 Jul 2015, at 16:58, Joseph Stewart wrote: >=20 > One other thing that I've looked at but never used is Adam Dunkels' "proto= threads" (http://dunkels.com/adam/pt/) although you'd still need to roll you= r own channel library. >=20 >> On Thu, Jul 9, 2015 at 10:50 AM, Steve Simon wrote: >> The system I am trying to add libtask to has no runtime other than libc. >>=20 >> Corrently it is an even based system that uses a "min main loop" and >> a twisty maze of nested state machines that all look the same. >>=20 >> Hence my desire to add co-routines + channels (i.e. exactly what libtask i= s) >> to it. I have no need for the file or network modules but those are easil= y removed. >>=20 >> I don't have the context calls but I do have setjmp/longjmp so that is wh= at I >> am trying to use. >>=20 >> I will shout if it works out. >>=20 >> -Steve >=20 --Apple-Mail-0D26B469-A596-49D7-8CE4-3F587776343D Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 7bit
I looked at proto, they are just state machines pretending to be threads (imho) - not my style.

libtask for me, I hope I can slice it a little and put the non-bear-metal bits in seperate files so I can offer the changes back.

co routines plus channels is exactly what I want.

-Steve





On 9 Jul 2015, at 16:58, Joseph Stewart <joseph.stewart@gmail.com> wrote:

One other thing that I've looked at but never used is Adam Dunkels' "protothreads" (http://dunkels.com/adam/pt/) although you'd still need to roll your own channel library.

On Thu, Jul 9, 2015 at 10:50 AM, Steve Simon <steve@quintile.net> wrote:
The system I am trying to add libtask to has no runtime other than libc.

Corrently it is an even based system that uses a "min main loop" and
a twisty maze of nested state machines that all look the same.

Hence my desire to add co-routines + channels (i.e. exactly what libtask is)
to it. I have no need for the file or network modules but those are easily removed.

I don't have the context calls but I do have setjmp/longjmp so that is what I
am trying to use.

I will shout if it works out.

-Steve


--Apple-Mail-0D26B469-A596-49D7-8CE4-3F587776343D--