Re: select() / inotify / sysfs

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

 



Jason wrote:
All,

I've discovered that my physical environment causes intermittent wifi connectivity (drops for a few seconds, then returns). My program can work through this, but needs to know that the connection has been interrupted.

I've placed a watch on different files in /sys/class/net/ath0/* and found that operstate changes (from 'up' to 'down') when I experience these network drops. So, I used inotify to detect changes to the file as a proof of concept:

# inotifywatch -v -r /sys/class/net/ath0/operstate

No go. It detects when I cat the file, but doesn't detect when the kernel changes it (which make sense on an academic note, since it doesn't have a value until it's read by userspace).

So, does anyone know of a good (hopefully select() based) method to detect this change? It doesn't have to use sysfs, that's just the dragon I'm chasing right now. ;-) I'd really prefer not to poll the file...

Update since vger is backup. I tried netlink also, and it only reports IFF_UP changes (I've only tried RTMGRP_LINK/NETLINK_ROUTE so far). So it tells me when I do ifconfig ath0 [up|down], but doesn't trigger when operstate changes and the interface is still up (IFF_UP).

Any ideas?

thx,

Jason.
--
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Assembler]     [Git]     [Kernel List]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [C Programming]     [Yosemite Campsites]     [Yosemite News]     [GCC Help]

  Powered by Linux