Skip to content

Conversation

bernd
Copy link
Contributor

@bernd bernd commented May 12, 2012

Discovered on Ubuntu 12.04 (dbus-1.4.18, upstart-1.5) by running the following snippet.

require 'dbus'

bus = DBus::SystemBus.instance
bus.service('com.ubuntu.Upstart').object('/com/ubuntu/Upstart').introspect

That throws the following exception.

/.../gems/ruby-dbus-0.7.2/lib/dbus/type.rb:74:in `initialize': Unknown key in signature: h (DBus::Type::SignatureException)
    from /.../gems/ruby-dbus-0.7.2/lib/dbus/type.rb:191:in `new'
    from /.../gems/ruby-dbus-0.7.2/lib/dbus/type.rb:191:in `parse_one'
    from /.../gems/ruby-dbus-0.7.2/lib/dbus/type.rb:201:in `parse'

See the following link for the UNIX_FD type details.
http://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-signatures

mvidner added a commit that referenced this pull request May 14, 2012
Add UNIX_FD type signature.

This doesn't actually implement passing the file descriptor,
but it avoids "Unknown key in signature: h (DBus::Type::SignatureException)"
when introspecting an object that uses them, like Upstart.
@mvidner mvidner merged commit ac21760 into mvidner:master May 14, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants