<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Just a small intermediate update.<br>
<br>
On 10.08.2011 13:19, rony wrote:
<blockquote cite="mid:4E426935.2060802@wu.ac.at" type="cite">
  <pre wrap="">On 10.08.2011 11:42, Simon McVittie wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">On Wed, 10 Aug 2011 at 11:31:49 +0200, rony wrote:
  
    </pre>
    <blockquote type="cite">
      <pre wrap="">The current implementation employs "dbus_server_set_watch_functions()",
but not "dbus_set_timeout_functions()", because there seems to be no
need for it.
    
      </pre>
    </blockquote>
    <pre wrap="">Well, that's something you're doing that most users of libdbus don't, so...
Try implementing both, and if bugs still occur, *then* start debugging.

(For instance, it's not impossible that deferred events are set up by adding
a "timeout after 0 seconds", either now or in the future.)
  
    </pre>
  </blockquote>
  <pre wrap="">Oh, I see! Will do.
  </pre>
</blockquote>
Adding the timeout functions did not change anything (they do not get
invoked). <br>
<br>
So intermittently program crashes occur (when re-running the client
program repeatedly in the same process) with the private server, and
there are no "Disconnected" signals when the process that established a
private connection to the private server ends. <br>
<blockquote>At one point, before a segmentation dump, the server
process showed the dbus output: "process 11392: The last reference on a
connection was dropped without closing the connection. This is a bug in
an application. See dbus_connection_unref() documentation for details.
Most likely, the application was supposed to call
dbus_connection_close(), since this is a private connection."<br>
The only "dbus_connecnon_unref()" in the binding is immediately
preceeded with "debus_connection_close()". The language binding
function containing these two statements would be invoked either upon
Rexx object destruction (the Rexx proxy for the connection) or if a
"Disconnected" signal was received on that connection.<br>
</blockquote>
... cut ...<br>
<br>
<blockquote cite="mid:4E426935.2060802@wu.ac.at" type="cite">
  <blockquote type="cite">
    <pre wrap="">For thread-safety, ensure that you have the latest D-Bus release from either
the 1.4.x or 1.5.x (master) branch, to fix fd.o #38005; 
    </pre>
  </blockquote>
  <pre wrap="">Will check (have 1.4.6, but that may not be new enough).
  </pre>
</blockquote>
Found that starting with dbus 1.4.12 this fix is incorporated, so will
have to look how to get that version or newer onto my Ubuntu system
without breaking anything over the weekend. <br>
<br>
---rony<br>
<br>
<br>
<br>
</body>
</html>