X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=src%2Fshared%2Flibosmocore%2Fsrc%2Fselect.c;h=4b002ae5cf8c31eb984c52016721cacd47c49351;hb=7a9b3f45b278c5664bd8f76b692febb84dee6a71;hp=4ea95362481ec87c8d462562f92579de65b39f7b;hpb=6fb598d31ea15a898ea2553dd95efeb3a0f0634e;p=osmocom-bb.git diff --git a/src/shared/libosmocore/src/select.c b/src/shared/libosmocore/src/select.c index 4ea9536..4b002ae 100644 --- a/src/shared/libosmocore/src/select.c +++ b/src/shared/libosmocore/src/select.c @@ -47,6 +47,15 @@ int osmo_fd_register(struct osmo_fd *fd) if (flags < 0) return flags; + /* set close-on-exec flag */ + flags = fcntl(fd->fd, F_GETFD); + if (flags < 0) + return flags; + flags |= FD_CLOEXEC; + flags = fcntl(fd->fd, F_SETFD, flags); + if (flags < 0) + return flags; + /* Register FD */ if (fd->fd > maxfd) maxfd = fd->fd;