http://defect.opensolaris.org/bz/show_bug.cgi?id=9536


Anurag S. Maskey <Anurag.Maskey at Sun.COM> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ACCEPTED




--- Comment #1 from Anurag S. Maskey <Anurag.Maskey at Sun.COM>  2009-06-18 
11:44:29 ---
The cause of this bug is the way alarms are handled.  From alarm(2):

     Alarm requests are not stacked; only one SIGALRM  generation
     can  be  scheduled in this manner; if the SIGALRM signal has
     not yet been generated, the call will result in rescheduling
     the time at which the SIGALRM signal will be generated.


Here's the generation of alarms with a wired interface:

1. When nwamd starts an alarm is set for the timed condition checking (120
seconds).
2. As NCUs for a particular priority group are brought up, an alarm is set for
60 seconds to check that status of those NCUs.

When this second alarm request is made, the first one disappears from the
queue.  When SIGALRM does occur, only the second queued event has expired.  The
SIGALRM for condition checking never happens.


Why does this problem not occur with wireless interface?

1. When nwamd starts an alarm is set for the timed condition checking (120
seconds).
2. As NCUs for a particular priority group are brought up, an alarm is set for
60 seconds to check that status of those NCUs.
3. When the wireless networks are scanned, an alarm is set for 60 seconds to
perform periodic wifi scans.

The first alarm request disappears when the second and third are added.  When
SIGALRM occurs, the second and third events are handled.  The periodic wifi
scan sets an alarm for 60 seconds for the next wifi scan.  When this SIGALRM
occurs, the first condition checking event has also expired and is acted upon.

-- 
Configure bugmail: http://defect.opensolaris.org/bz/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.

Reply via email to