X-Git-Url: http://www.dolda2000.com/gitweb/?p=ashd.git;a=blobdiff_plain;f=lib%2Fproc.c;h=a1dc336213afe2bb5828e52ca16f0812dccaafba;hp=2c05608eb098eb313dcc085630d2cdd1d7a675dd;hb=d9f67feaea01146d7ea10abfff2dc59ff8946ced;hpb=615f3ba3b9ced7a23e5c7c48ad1ff446ff733358 diff --git a/lib/proc.c b/lib/proc.c index 2c05608..a1dc336 100644 --- a/lib/proc.c +++ b/lib/proc.c @@ -56,7 +56,7 @@ int stdmkchild(char **argv, void (*chinit)(void *), void *idata) return(fd[1]); } -int sendfd(int sock, int fd, char *data, size_t datalen) +int sendfd2(int sock, int fd, char *data, size_t datalen, int flags) { struct msghdr msg; struct cmsghdr *cmsg; @@ -78,7 +78,12 @@ int sendfd(int sock, int fd, char *data, size_t datalen) *((int *)CMSG_DATA(cmsg)) = fd; msg.msg_controllen = cmsg->cmsg_len; - return(sendmsg(sock, &msg, MSG_NOSIGNAL | MSG_DONTWAIT)); + return(sendmsg(sock, &msg, flags)); +} + +int sendfd(int sock, int fd, char *data, size_t datalen) +{ + return(sendfd2(sock, fd, data, datalen, MSG_NOSIGNAL | MSG_DONTWAIT)); } int recvfd(int sock, char **data, size_t *datalen)