DragonFly users List (threaded) for 2007-01
DragonFly BSD
DragonFly users List (threaded) for 2007-01
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Request for swapcontext and getcontext to be ported to our libc


From: Petr Janda <elekktretterr@xxxxxxxxxxxxxx>
Date: Fri, 05 Jan 2007 17:53:31 +1100

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 <matt@gsicomp.on.ca>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








[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]