[PATCH] Unix datagram socket messaging

Stefan (metze) Metzmacher metze at samba.org
Tue Apr 22 13:03:47 MDT 2014


Am 22.04.2014 20:44, schrieb Stefan (metze) Metzmacher:
> Am 22.04.2014 20:40, schrieb Stefan (metze) Metzmacher:
>> Am 22.04.2014 19:44, schrieb Jeremy Allison:
>>> On Tue, Apr 22, 2014 at 05:52:12PM +0200, Stefan (metze) Metzmacher wrote:
>>>
>>> OK - latest patchset with the following changes:
>>>
>>>> My idea was to pass 'struct tevent_context *ev' to make it clear that
>>>> this has to be this specific type.
>>>
>>> Fixed.
>>>
>>>> There's a 2nd socket(AF_UNIX, SOCK_DGRAM, 0); in
>>>> unix_dgram_send_queue_init()
>>>> which needs to set just FD_CLOEXEC.
>>>
>>> Fixed. I split the prepare_socket function
>>> into two, one to set O_NONBLOCK, one to
>>> set CLOEXEC to improve code reuse.
>>>
>>>> One of the tests explicitly passes path==NULL to unix_msg_init()
>>>> and then unix_dgram_init().
>>>>
>>>> Maybe the better fix would be only call
>>>> ctx->created_pid = getpid(); when we call bind()
>>>> and set it to -1 otherwise.
>>>>
>>>> Then 'if (getpid() == ctx->created_pid) {' would do the correct thing.
>>>
>>> I restored Volker's path == NULL handling
>>> and implemented your requested change.
>>>
>>> Although I'm not keen on the explicit allowing
>>> of path==NULL, after looking at the test I
>>> do see the use of it, so fixed it as you
>>> recommended.
>>>
>>> Let me know if this is OK to go in.
>>
>> I'm getting this:
>>
>> #> bin/msgtest
>> no talloc stackframe at ../source3/param/loadparm.c:4595, leaking memory
>> PANIC: No talloc stackframe
>> Abgebrochen (Speicherabzug geschrieben)
> 
> lp_ctx seems to be unused in messaging_dgm_init()...

The current master also fails msgtest which a similar error...

metze


More information about the samba-technical mailing list