your test doesnt work either:
[elevator] ~/projects/mtasker% make
c++ -I/usr/pkg/include -c mt.cc
In file included from mtasker.hh:114,
from mt.cc:2:
mtasker.cc: In member function `void MTasker<EventKey, EventVal>::yield()':
mtasker.cc:51: error: there are no arguments to `swapcontext' that
depend on a template parameter, so a declaration of `swapcontext' must
be available
mtasker.cc:51: error: (if you use `-fpermissive', G++ will accept your
code, but allowing the use of an undeclared name is deprecated)
mtasker.cc: In member function `int MTasker<EventKey,
EventVal>::sendEvent(const EventKey&, const EventVal*)':
mtasker.cc:78: error: there are no arguments to `swapcontext' that
depend on a template parameter, so a declaration of `swapcontext' must
be available
mtasker.cc: In member function `void MTasker<EventKey,
EventVal>::makeThread(void (*)(void*), void*, const std::string&)':
mtasker.cc:94: error: there are no arguments to `getcontext' that depend
on a template parameter, so a declaration of `getcontext' must be available
mtasker.cc: In member function `bool MTasker<EventKey,
EventVal>::schedule()':
mtasker.cc:125: error: there are no arguments to `swapcontext' that
depend on a template parameter, so a declaration of `swapcontext' must
be available
mt.cc: In function `void printer(void*)':
mt.cc:10: warning: cast from pointer to integer of different size
mtasker.cc: In member function `void MTasker<EventKey,
EventVal>::yield() [with EventKey = int, EventVal = int]':
mt.cc:13: instantiated from here
mtasker.cc:51: error: `swapcontext' undeclared (first use this function)
mtasker.cc:51: error: (Each undeclared identifier is reported only once
for each function it appears in.)
mtasker.cc: In member function `void MTasker<EventKey,
EventVal>::makeThread(void (*)(void*), void*, const std::string&) [with
EventKey = int, EventVal = int]':
mt.cc:20: instantiated from here
mtasker.cc:94: error: `getcontext' undeclared (first use this function)
mt.cc:20: instantiated from here
mtasker.cc:104: error: `makecontext' undeclared (first use this function)
mtasker.cc: In member function `bool MTasker<EventKey,
EventVal>::schedule() [with EventKey = int, EventVal = int]':
mt.cc:24: instantiated from here
mtasker.cc:125: error: `swapcontext' undeclared (first use this function)
*** Error code 1
Stop in /home/petr/projects/mtasker.
I took the tarball of all kernel and libc changes/new files and unpacked
it in /usr/src. However Ive only done quickworld. Was i meant to do
buildworld
Petr
Matt EMatt Emmerton <[EMAIL PROTECTED]>mmerton wrote:
The first cut of this work has been completed. I've ported over the FreeBSD
i386 work, which is a hybrid libc + kernel syscall implementation.
You can find the source changes and a tiny test program here:
http://www.gsicomp.on.ca/~matt/dfly/
I hope to have a libc-only implementation completed before the end of the
week.
--
Matt Emmerton