CVSROOT: /cvs/directfb
Module name: linux-fusion
Changes by: dok 20021111 02:58:58
Modified files:
linux/drivers/char/fusion: Makefile fusiondev.c fusionee.c
fusionee.h ref.c skirmish.c
linux/include/linux: fusion.h
Added files:
linux/drivers/char/fusion: fifo.c fifo.h reactor.c reactor.h
Log message:
Added messaging to the Fusion Kernel Device. There are two ways of sending
messages. The simple way is to use FUSION_SEND_MESSAGE specifying the
recipient's fusion id and an optional message id. The other way is to
create a reactor with FUSION_REACTOR_NEW which is the process shared
part of the old multi app reactor. FUSION_REACTOR_ATTACH adds the callers
fusion id to the list of attached fusionees. FUSION_REACTOR_DISPATCH
is used to send a message to all attached fusionees. So reactor_dispatch()
only needs one system call (instead of two plus two times the number
of attached fusionees).
Messages are received by doing a read() on the device. This way multiple
messages (depending on the read buffer size) are received by one system
call.
There's only one thread now for all reactors.
FusionSkirmish is a recursive lock now.
--
Info: To unsubscribe send a mail to [EMAIL PROTECTED] with
"unsubscribe directfb-cvs" as subject.