Disko Forum logo Login  |  Register  |  Lost Password
Why exclusive access to primary layer of directfb?

judith
Posts: 11
graphgraph

Why exclusive access to primary layer of directfb? 5 Years, 4 Months ago  
Hi,

I compiled DirectFB in multi application mode and tried to manipulate the mouse position in an application that uses disko. The result was a SIGTRAP, so I searched for the cause. I found, that disko set's exclusive access to DirectFBs primary layer, and I wonder why this is done, because you make a limitation to one application in that way.

Kind regards
Judith
 
  The administrator has disabled public write access.
Why exclusive access to primary layer of directfb?

Stefan
Posts: 91
graph

Re:Why exclusive access to primary layer of directfb? 5 Years, 4 Months ago  
Hi judith,

we haven't used the multi application core yet, so there was no no real reason why to not use the layer exclusively. I don't see a compelling reason why this couldn't be optional.

Have you tried to remove it from mmsfblayer?

have fun
Stefan
 
  The administrator has disabled public write access.
Why exclusive access to primary layer of directfb?

judith
Posts: 11
graphgraph

Re:Why exclusive access to primary layer of directfb? 5 Years, 4 Months ago  
Hi Stefan,

I did a quick test and changed the code to a comment, but got an error that says:

Error initializing disko: IDirectFBDisplayLayer:etConfiguration(...) failed [Access denied!]

So it seems, that the excliusive access is required somewhere during the initialization process. I will do some more tests tomorrow.

Regards
Judith
 
  The administrator has disabled public write access.
Why exclusive access to primary layer of directfb?

judith
Posts: 11
graphgraph

Re:Why exclusive access to primary layer of directfb? 5 Years, 4 Months ago  
Hi,

I made some more tests today, and because you use layer->SetConfiguration during initialization of disko you need at least administrative access to the layer. So a change of DLSCL_EXCLUSIVE to DLSCL_ADMINISTRATIVE made disko run with my applications. After that, I tried to run the tutorials. I changed the parameters backend and allocmethod to dfb and could run most of the tutorials after that, but the last tutorial gets a SIGABRT and prints the error message:

terminate called after throwing ab instance of 'MMSShlError'


Backtrace gave the following informations:

(gdb) bt
#0 0x00110402 in __kernel_vsyscall ()
#1 0x0085afa0 in raise () from /lib/libc.so.6
#2 0x0085c8b1 in abort () from /lib/libc.so.6
#3 0x058ad540 in __gnu_cxx::__verbose_terminate_handler ()
from /usr/lib/libstdc++.so.6
#4 0x058ab025 in ?? () from /usr/lib/libstdc++.so.6
#5 0x058ab062 in std::terminate () from /usr/lib/libstdc++.so.6
#6 0x058ab19a in __cxa_throw () from /usr/lib/libstdc++.so.6
#7 0x00175e0f in MMSShlHandler::open ()
from /export/scratch/my_env//lib/disko/libmmstools.so
#8 0x003b01c9 in MMSBackendPluginHandler::load ()
from /export/scratch/my_env//lib/disko/libmmsbase.so
#9 0x003b05f3 in MMSBackendPluginHandler::MMSBackendPluginHandler ()
from /export/scratch/my_env//lib/disko/libmmsbase.so
#10 0x003e8624 in MMSPluginManager::loadBackendPlugins ()
from /export/scratch/my_env//lib/disko/libmmscore.so
#11 0x003e1eb8 in mmsInit ()
from /export/scratch/my_env//lib/disko/libmmscore.so
#12 0x08048e13 in main (argc=1, argv=0xbfaaf1b4) at main.cpp:35
(gdb)

Any ideas?

THNX
Judith
 
  The administrator has disabled public write access.
Why exclusive access to primary layer of directfb?

Stefan
Posts: 91
graph

Re:Why exclusive access to primary layer of directfb? 5 Years, 4 Months ago  
Hi Judith,

could you please post the compile switches you used to build disko. Seems to be a mixup with the static build, or did you build explicitly a static version of disko?

In a pure static build, you have to add a static plugin registry method.

have fun
Stefan
 
  The administrator has disabled public write access.
Why exclusive access to primary layer of directfb?

judith
Posts: 11
graphgraph

Re:Why exclusive access to primary layer of directfb? 5 Years, 4 Months ago  
Hi,

it seems the magic of a reboot solved the problem.

Thanks again
Judith
 
  The administrator has disabled public write access.
Powered by FireBoard
get the latest posts directly to your desktop