Sophie

Sophie

distrib > Mandriva > 2007.0 > i586 > media > contrib-release > by-pkgid > 4c9f17ec5da473f7fb52041bb9197c5a > files > 63

kaffe-devel-1.1.8-0.20060723.1mdv2007.0.i586.rpm

NOTES ABOUT THE BeOS PORT
=========================
The BeOS port requires BeOS R4 or higher.  It uses its own threading
system designated "beos-native".  The "unix-jthreads" system can be
made to work for the most part; however, that system relies on
asynchronous I/O notifications, as well as virtual timer alarms, both
of which are absent on BeOS R4.

beos-native no longer uses its own implementation of condition variables.
Instead, it implements and uses a new Kaffe locking primitive called
a "Ksem".

AWT for Kaffe is under separate development by the BeKaffe group, from
whom source patches and tar balls are available (please refer to their
web site on SourceForge for more information).

Also, the following entry points in the jthread interface have yet to be
implemented:

	jthread_suspendall
	jthread_unsuspendall
	jthread_spinon
	jthread_spinoff

KNOWN PROBLEMS
==============
The jthread interface requires that the macros GET_JTHREAD/SET_JTHREAD
and GET_COOKIE/SET_COOKIE store and retrieve per-thread information.
Right now, this information is maintained in a large BeOS "area" containing
an array of per_thread_info_t structures.  The info for a given thread
with thread id 'T' is simply (T % MAX_THREADS).  Naturally, since
successive calls to spawn_thread (invoked by jthread_create) will not
necessarily yield contiguous thread ids, the maximum number of jthreads
that can be successfully created will be somewhat less than MAX_THREADS.

The implementation of forkexec() in beos-native/syscalls.c makes use of
fork() instead of the recommended technique that uses load_image().

Profiling output is unavailable, due to an apparent bug that causes
BeOS to "forget" installed atexit() handlers when the main thread
executes exit_thread().

The gethostbyname() and gethostbyaddr() wrappers in beos-native/syscalls.c
are not thread-safe.

As of 25 June 2000, the following tests fail: CLTestJLock, ClassGC, GCTest,
NullInvoke, ProcessClassInst, ThreadState, ThreadStop, CatchDeath and
SoTimeout (again!).

Although Kaffe has been built and tested on BeOS 5, it has not been
configured for BONE, as that networking code is still unavailable to users.

REV HISTORY
===========
27 Jan 99 -- Submitted for inclusion into Kaffe, alanlb@cs.vt.edu
08 Feb 99 -- Fixed various segmentation violations
18 Mar 99 -- Implemented jcondvar_wait timeout, forkexec;
		fixed jthread_interrupt
22 Mar 99 -- Fixed socket read/write in beos-native/syscalls.c, redid
		thread cancellation (i.e., stoppage)
24 Mar 99 -- Fixed forkexec; ProcessTest now passes
26 Mar 99 -- Implemented most socket timeouts; SoTimeout now passes
28 Jul 99 -- Fixed condition variable code (thanks to Chris Tate of Be DTS)
31 Aug 99 -- Updated for JIT version 3
25 Jun 00 -- Updated for Ksems