mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-02-06 03:30:27 +01:00
Merge branch 'dbus-1.10'
This commit is contained in:
commit
e691124e28
6 changed files with 66 additions and 5 deletions
23
NEWS
23
NEWS
|
|
@ -1,7 +1,28 @@
|
|||
D-Bus 1.11.2 (UNRELEASED)
|
||||
==
|
||||
|
||||
...
|
||||
Fixes:
|
||||
|
||||
• Enable "large file support" on systems where it exists: dbus-daemon
|
||||
is not expected to open large files, but it might need to stat files
|
||||
that happen to have large inode numbers (fd.o #93545, Hongxu Jia)
|
||||
|
||||
• Eliminate padding inside DBusMessageIter on 64-bit platforms,
|
||||
which might result in a pedantic C compiler not copying the entire contents
|
||||
of a DBusMessageIter; statically assert that this is not an ABI change
|
||||
in practice (fd.o #94136, Simon McVittie)
|
||||
|
||||
• Document dbus-test-tool echo --sleep-ms=N instead of incorrect --sleep=N
|
||||
(fd.o #94244, Dmitri Iouchtchenko)
|
||||
|
||||
• Correctly report test failures in C tests from run-test.sh
|
||||
(fd.o #93379; amit tewari, Simon McVittie)
|
||||
|
||||
• When tests are enabled, run all the marshal-validate tests, not just
|
||||
the even-numbered ones (fd.o #93908, Nick Lewycky)
|
||||
|
||||
• Correct the expected error from one marshal-validate test, which was
|
||||
previously not run due to the above bug (fd.o #93908, Simon McVittie)
|
||||
|
||||
D-Bus 1.11.0 (2015-12-02)
|
||||
==
|
||||
|
|
|
|||
|
|
@ -195,6 +195,9 @@ extern const char *_dbus_return_if_fail_warning_format;
|
|||
#define _DBUS_STRUCT_OFFSET(struct_type, member) \
|
||||
((intptr_t) ((unsigned char*) &((struct_type*) 0)->member))
|
||||
|
||||
#define _DBUS_ALIGNOF(type) \
|
||||
(_DBUS_STRUCT_OFFSET (struct { char _1; type _2; }, _2))
|
||||
|
||||
#ifdef DBUS_DISABLE_CHECKS
|
||||
/* this is an assert and not an error, but in the typical --disable-checks case (you're trying
|
||||
* to really minimize code size), disabling these assertions makes sense.
|
||||
|
|
|
|||
|
|
@ -136,6 +136,29 @@ struct DBusMessageRealIter
|
|||
} u; /**< the type writer or reader that does all the work */
|
||||
};
|
||||
|
||||
/**
|
||||
* Layout of a DBusMessageIter on the stack in dbus 1.10.0. This is no
|
||||
* longer used, but for ABI compatibility we need to assert that the
|
||||
* new layout is the same size.
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
void *dummy1;
|
||||
void *dummy2;
|
||||
dbus_uint32_t dummy3;
|
||||
int dummy4;
|
||||
int dummy5;
|
||||
int dummy6;
|
||||
int dummy7;
|
||||
int dummy8;
|
||||
int dummy9;
|
||||
int dummy10;
|
||||
int dummy11;
|
||||
int pad1;
|
||||
int pad2;
|
||||
void *pad3;
|
||||
} DBusMessageIter_1_10_0;
|
||||
|
||||
static void
|
||||
get_const_signature (DBusHeader *header,
|
||||
const DBusString **type_str_p,
|
||||
|
|
@ -2025,7 +2048,21 @@ _dbus_message_iter_init_common (DBusMessage *message,
|
|||
DBusMessageRealIter *real,
|
||||
int iter_type)
|
||||
{
|
||||
/* If these static assertions fail on your platform, report it as a bug. */
|
||||
_DBUS_STATIC_ASSERT (sizeof (DBusMessageRealIter) <= sizeof (DBusMessageIter));
|
||||
_DBUS_STATIC_ASSERT (_DBUS_ALIGNOF (DBusMessageRealIter) <=
|
||||
_DBUS_ALIGNOF (DBusMessageIter));
|
||||
/* A failure of these two assertions would indicate that we've broken
|
||||
* ABI on this platform since 1.10.0. */
|
||||
_DBUS_STATIC_ASSERT (sizeof (DBusMessageIter_1_10_0) ==
|
||||
sizeof (DBusMessageIter));
|
||||
_DBUS_STATIC_ASSERT (_DBUS_ALIGNOF (DBusMessageIter_1_10_0) ==
|
||||
_DBUS_ALIGNOF (DBusMessageIter));
|
||||
/* If this static assertion fails, it means the DBusMessageIter struct
|
||||
* is not "packed", which might result in "iter = other_iter" not copying
|
||||
* every byte. */
|
||||
_DBUS_STATIC_ASSERT (sizeof (DBusMessageIter) ==
|
||||
4 * sizeof (void *) + sizeof (dbus_uint32_t) + 9 * sizeof (int));
|
||||
|
||||
/* Since the iterator will read or write who-knows-what from the
|
||||
* message, we need to get in the right byte order
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ struct DBusMessageIter
|
|||
int dummy10; /**< Don't use this */
|
||||
int dummy11; /**< Don't use this */
|
||||
int pad1; /**< Don't use this */
|
||||
int pad2; /**< Don't use this */
|
||||
void *pad2; /**< Don't use this */
|
||||
void *pad3; /**< Don't use this */
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@
|
|||
<arg choice="plain">--system</arg>
|
||||
</group>
|
||||
<arg choice="opt">--name=<replaceable>NAME</replaceable></arg>
|
||||
<arg choice="opt">--sleep=<replaceable>MS</replaceable></arg>
|
||||
<arg choice="opt">--sleep-ms=<replaceable>MS</replaceable></arg>
|
||||
</cmdsynopsis>
|
||||
|
||||
<cmdsynopsis>
|
||||
|
|
@ -161,7 +161,7 @@
|
|||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--sleep=</option><replaceable>MS</replaceable></term>
|
||||
<term><option>--sleep-ms=</option><replaceable>MS</replaceable></term>
|
||||
<listitem>
|
||||
<para>Block for <replaceable>MS</replaceable> milliseconds
|
||||
before replying to a method call.</para>
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ usage_echo (int exit_with)
|
|||
"\n"
|
||||
" --name=NAME claim this well-known name first\n"
|
||||
"\n"
|
||||
" --sleep=N sleep N milliseconds before sending each reply\n"
|
||||
" --sleep-ms=N sleep N milliseconds before sending each reply\n"
|
||||
"\n"
|
||||
" --session use the session bus (default)\n"
|
||||
" --system use the system bus\n"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue