[systemd-devel] siphash24 gives unmatched bloom_mask and bloom_filter?
eshark77 at 163.com
eshark77 at 163.com
Tue Jun 9 06:01:06 PDT 2015
Hi, David,
I think I've found the reason for my problem. That is , with "arg0path=/p1/p2/p3",
The sent signal should be sent with "arg0=/p1/p2/p3/", but not "arg0=/p1/p2/p3".
Then Another question is, with "arg0path=/p1/p2", the signal sent with "arg0=/p1/p2/p3"
should be received and the callback be executed.
But following the execution path: proces_message()==> process_match() ==>bus_match_run()
==> value_node_test() ==> path_complex_pattern()==> complex_pattern_check('/', pattern, value)
==> if (*a != *b) return (separator && (*a == 0 || *b == 0)) || (*a == 0 && *b == c && b[1] == 0) || (*b == 0 && *a == c && a[1] == 0);
This will return "false", which caused the callback cannot be executed.
Should this comply with the DBus Spec?
Thank you!
>David Herrmann Mon, 08 Jun 2015 09:44:25 -0700
>Hi
>On Mon, Jun 8, 2015 at 3:26 PM, <eshar... at 163.com> wrote:
>> Hi, David
>> I just modified the src/libsystemd/sd-bus/test-bus-match.c.
>> And you could add the following two lines in the bloom_add_data() in
>> bus-bloom.c
>> for (i = 0; i < size/sizeof(uint64_t); i++)
>> log_info("bloom: filter[%d] = 0x%llx",i, filter[i]);
>Can you please try with systemd-220? The diff against 220 is 83 lines
>and it doesn't even compile. If there is a bloom-bug, it should be
>possible to show this with a much shorter example. I'm having a hard
>time understanding what you changed there, sorry.
>Thanks
>David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/systemd-devel/attachments/20150609/dcee0490/attachment-0001.html>
More information about the systemd-devel
mailing list