[haiku-appserver] communication

  • From: "Stephan Assmus" <superstippi@xxxxxx>
  • To: haiku-appserver@xxxxxxxxxxxxx
  • Date: Sat, 04 Jun 2005 14:07:55 +0200 CEST

Hi all,

Numerous problems in our app_server are a result of the _very_ fragile 
sever<->client communcation.

I also found out about BAppServerLink locking and unlocking be_app's 
looper in it's constructor and destructor. I don't know if Erik is 
still around, but maybe him or someone else can explain the reasoning 
for that? If I remove this locking, BMenus and BAlers don't deadlock 
anymore. (The whole thing fails at a later point though.)

Our app_server comm can freeze up any moment. There only needs to be a 
message not implemented on the server side, the server wouldn't even 
have a way to reply with SERVER_FALSE in the message dispatching 
default case, because the reply port is added as last data in every 
comm packet, only that the size of the packet is unkown if the message 
is unkown. (Unless I'm missing something.) If there was a problem with 
adding stuff to the link, there is no way to tell at a later point. All 
the code assumes everything went fine. Just look at the problem I found 
with adding strings.

I'd vote for a rewrite of the whole comm layer. :-\ Only it is used 
almost everywhere. Any thoughts?

Best regards,
-Stephan



Other related posts: