All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason <lcprog@lakedaemon.net>
To: linux-c-programming@vger.kernel.org
Subject: Re: select() / inotify / sysfs
Date: Wed, 19 Mar 2008 17:10:45 -0400	[thread overview]
Message-ID: <47E18155.2020800@lakedaemon.net> (raw)
In-Reply-To: <47DFE6ED.9030908@lakedaemon.net>

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.

      reply	other threads:[~2008-03-19 21:10 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-18 15:59 select() / inotify / sysfs Jason
2008-03-19 21:10 ` Jason [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=47E18155.2020800@lakedaemon.net \
    --to=lcprog@lakedaemon.net \
    --cc=linux-c-programming@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.