URI:
       wifi: always retry ioctl for ifindex - slstatus - status monitor
  HTML git clone git://git.suckless.org/slstatus
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 4f61bbbd8e9278c75f29e7853ae8922717261d2d
   DIR parent 6fa36bad9f74154d4bf3be834ada93e04bf737e1
  HTML Author: drkhsh <me@drkhsh.at>
       Date:   Thu, 12 Feb 2026 22:46:02 +0100
       
       wifi: always retry ioctl for ifindex
       
       ifindex() caches the result of ioctl(SIOCGIFINDEX) and never
       retries it, since the interface name strcmp succeeds after the
       first call. if the interface does not exist when slstatus starts
       (e.g. iwd with default config destroys/recreates interfaces
       depending on service state), the ioctl fails and the stale
       result is returned on all subsequent calls.
       
       based on a patch by ryhpez, with input from Taha Medhous
       
       Diffstat:
         M components/wifi.c                   |       8 ++++----
       
       1 file changed, 4 insertions(+), 4 deletions(-)
       ---
   DIR diff --git a/components/wifi.c b/components/wifi.c
       @@ -110,10 +110,10 @@
                        }
                        if (strcmp(ifr.ifr_name, interface) != 0) {
                                strcpy(ifr.ifr_name, interface);
       -                        if (ioctl(ifsock, SIOCGIFINDEX, &ifr) != 0) {
       -                                warn("ioctl 'SIOCGIFINDEX':");
       -                                return -1;
       -                        }
       +                }
       +                if (ioctl(ifsock, SIOCGIFINDEX, &ifr) != 0) {
       +                        warn("ioctl 'SIOCGIFINDEX':");
       +                        return -1;
                        }
                        return ifr.ifr_ifindex;
                }