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





Reply via email to