Re: if you use D-Bus on non-Linux Unix, please try new DBusSocket code

Rick Mann <[email protected]>
Newsgroups gmane.comp.freedesktop.dbus
Message-ID <[email protected]>
Attempting to build with cmake resulted in errors during the cmake stage. I followed the linux instructions in README.cmake.

CMakeErrors.log:	http://pastebin.com/KMYutyDv
CMakeOutput.log:	http://pastebin.com/mP7d6ZFt

> On Mar 31, 2015, at 05:35 , Simon McVittie <[email protected]> wrote:
> 
> On <https://bugs.freedesktop.org/show_bug.cgi?id=89444> we've been
> working on fixing the distinction between file descriptors and sockets,
> which are the same thing on Unix, but unfortunately not on Windows
> (where a SOCKET is basically a uintptr_t, if done correctly).
> 
> The solution we're trying is to introduce an internal DBusSocket struct
> containing an int (on Unix) or a SOCKET (on Windows), to force APIs to
> distinguish between the native thing and the abstraction.
> 
> If you use D-Bus on non-Linux Unix platforms (*BSD, Solaris, etc.) it's
> possible that this will cause compilation failures, if I missed code
> paths that are not compiled on Linux. So, please try compiling, and
> preferably testing, this branch on your favourite Unix platform:
> 
>    git clone -b dbussocket git://people.freedesktop.org/~smcv/dbus
>    web: http://cgit.freedesktop.org/~smcv/dbus/log/?h=dbussocket
> 
> and report any problems on #89444, ideally with patches. The fix for any
> compilation errors will probably be something quite simple, like
> replacing "getsomesocketthing (s)" with "getsomesocketthing (s.fd)".
> 
> The intention is:
> 
> * non-Unix-specific code consistently uses DBusSocket (if the thing
>  is definitely a socket) or DBusPollable (if it's an arbitrary
>  pollable thing, i.e. a socket on Windows but any fd on Unix),
>  and does not assume that either of those is an integer
> 
> * Unix-specific socket handling (dbus-sysdeps-*unix.c etc.) passes s.fd,
>  which is an int, to platform APIs
> 
> * Unix-specific pollable handling may rely on the fact that DBusPollable
>  is really an int
> 
> * for the moment, public APIs are still in terms of int, although
>  we should probably add dbus_watch_get_windows_socket() eventually
> 
> -- 
> Simon McVittie
> Collabora Ltd. <http://www.collabora.com/>
> _______________________________________________
> dbus mailing list
> [email protected]
> http://lists.freedesktop.org/mailman/listinfo/dbus


-- 
Rick Mann
[email protected]


_______________________________________________
dbus mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dbus
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.