Re: libmultipath: use poll() in uevent_listen()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Merged

On Wed, May 11, 2016 at 7:19 PM, Benjamin Marzinski <bmarzins@xxxxxxxxxx> wrote:
On Wed, May 11, 2016 at 12:35:53PM +0200, Hannes Reinecke wrote:
> As we're not modifying the signal mask anymore we can switch
> back to normal 'poll' instead of 'ppoll'.


ACK

-Ben

>
> Signed-off-by: Hannes Reinecke <hare@xxxxxxxx>
> ---
>  libmultipath/uevent.c | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/libmultipath/uevent.c b/libmultipath/uevent.c
> index fbe9c44..454b819 100644
> --- a/libmultipath/uevent.c
> +++ b/libmultipath/uevent.c
> @@ -477,7 +477,6 @@ int uevent_listen(struct udev *udev)
>       int fd, fd_ep = -1, socket_flags, events;
>       int need_failback = 1;
>       int timeout = 30;
> -     sigset_t mask;
>       LIST_HEAD(uevlisten_tmp);
>
>       /*
> @@ -528,22 +527,20 @@ int uevent_listen(struct udev *udev)
>               goto out;
>       }
>
> -     pthread_sigmask(SIG_SETMASK, NULL, &mask);
>       events = 0;
>       while (1) {
>               struct uevent *uev;
>               struct udev_device *dev;
>               struct pollfd ev_poll;
> -             struct timespec poll_timeout;
> +             int poll_timeout;
>               int fdcount;
>
>               memset(&ev_poll, 0, sizeof(struct pollfd));
>               ev_poll.fd = fd;
>               ev_poll.events = POLLIN;
> -             memset(&poll_timeout, 0, sizeof(struct timespec));
> -             poll_timeout.tv_sec = timeout;
> +             poll_timeout = timeout * 1000;
>               errno = 0;
> -             fdcount = ppoll(&ev_poll, 1, &poll_timeout, &mask);
> +             fdcount = poll(&ev_poll, 1, poll_timeout);
>               if (fdcount && ev_poll.revents & POLLIN) {
>                       timeout = 0;
>                       dev = udev_monitor_receive_device(monitor);
> --
> 2.6.6

--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel

[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux