New commits:
http://git.directfb.org/?p=core/DirectFB.git;a=commit;h=2d4bc33f41acb134c901e12b9150c087cf585865
commit 2d4bc33f41acb134c901e12b9150c087cf585865
Author: Denis Oliver Kropp <[email protected]>
Date: Sun Apr 14 09:24:50 2013 +0200
libfusion: Make builtin multi app support work again (no kernel module
required), use --disable-multi-kernel for configure.
It is working quite well with one slave (df_dok and df_andi work).
Performance is acceptable, sometimes even better than with kernel device,
but still there is
some potential for optimisations, e.g. implementing user space ref counting.
One big downside I fixed is when the master crashed and a new one is
started, you no longer
have to cleanup the socket directory. It is done automatically now.
Many other fixes and additions have been necessary to make this working:
- Implement FusionCall2 and FusionCall3, owner lookup, init from (call
id)...
- Add dispatch cleanup implementation from kernel module based code
- Add many other functions, most of them could be left empty
- Take over some fixes from kernel module based code, e.g. dispatch channel
!= 1 without globals
TODO
- At the moment shared memory pools are writable, because this
implementation stores some fusionee
info during fuion_enter() of each slave.
- There is no security on entry/function level yet (like on ioctl)
Signed-off-by: Denis Oliver Kropp <[email protected]>
lib/fusion/call.c | 429 +++++++++++++++++++++++++++++++++++-------
lib/fusion/fusion.c | 274 ++++++++++++++++++++++++---
lib/fusion/fusion_internal.h | 6 +-
lib/fusion/lock.c | 17 ++
lib/fusion/protocol.h | 6 +-
lib/fusion/reactor.c | 2 +-
lib/fusion/ref.c | 25 +++
lib/fusion/ref.h | 18 +-
lib/fusion/shm/pool.c | 3 +-
9 files changed, 671 insertions(+), 109 deletions(-)
_______________________________________________
directfb-cvs mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-cvs