[PATCH] tfork
Jeremy Allison
jra at samba.org
Wed Apr 19 21:57:53 UTC 2017
On Tue, Apr 18, 2017 at 09:55:56PM +0200, Ralph Böhme via samba-technical wrote:
> Hi!
>
> Attached is a patchset that adds a signal and waitpid() avoiding fork()
> replacement: tfork().
>
> It was based on an older patchset from metze, called double_fork at that time,
> that I extended to fork three-times in order to return a pollable status fd.
>
> It's intented use is in samba_runcmd_send() where it avoids calling waitpid()
> and dealing with SIGCHLD to get the exit status of the executed command.
>
> With this change it is safe to call samba_runcmd_send() in smbd code as an async
> replacement for smbrun().
>
> I have a usecase here where someone wants to run shell scripts from source3
> code without blocking.
>
> Please review & push if happy.
Finally reviewed, LGTM. Pushed.
Still want to discuss the CatchSignal() issue though :-).
More information about the samba-technical
mailing list