Bug 33465

Summary: fd passing can work on Solaris, but needs extra runes
Product: dbus Reporter: Simon McVittie <smcv>
Component: coreAssignee: Simon McVittie <smcv>
Status: RESOLVED FIXED QA Contact: John (J5) Palmieri <johnp>
Severity: normal    
Priority: medium CC: hp
Version: 1.4.xKeywords: patch
Hardware: All   
OS: Solaris   
URL: http://git.collabora.co.uk/?p=user/smcv/dbus-smcv.git;a=shortlog;h=refs/heads/solaris-33465
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 36074    
Attachments: Opt-in to modern OS features on Solaris, to get file descriptor passing

Description Simon McVittie 2011-01-25 06:44:23 UTC
Pavel Strashkin writes:
> Passing UNIX FD was introduced in X/Open CAE Specification, Issue 4,
> Version 2 (XPG4v2) so you need to enable it at compile time.
> I've added "-D_XOPEN_SOURCE=500" and everything compiles without any error.
Comment 1 Simon McVittie 2011-01-25 06:50:26 UTC
The fact that dbus fails to compile on Solaris, rather than failing the check in configure and compiling with fd-passing support missing, suggests that we're using more features than we check for, which is arguably a platform-independent bug.
Comment 2 Simon McVittie 2011-01-26 10:25:27 UTC
Created attachment 42542 [details] [review]
Opt-in to modern OS features on Solaris, to get file descriptor passing

Surely it's broken to define SCM_RIGHTS but not the necessary structs to
do something useful with it, but whatever.
Comment 3 Simon McVittie 2011-01-27 10:13:48 UTC
For the record, this is <http://lists.freedesktop.org/archives/dbus/2010-December/013846.html>.
Comment 4 Will Thompson 2011-07-18 10:56:28 UTC
Review of attachment 42542 [details] [review]:

::: configure.in
@@ +1314,3 @@
+        # ... and this opt-in to get file descriptor passing support
+        CFLAGS="$CFLAGS -D_XOPEN_SOURCE=500"
+        ;;

Looks fine.
Comment 5 Simon McVittie 2011-07-18 11:45:27 UTC
Thanks, fixed in git for 1.4.12, 1.5.6.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.