[nas] (resend) hard hang in libaoss.so

Paul Fox pgf at foxharp.boston.ma.us
Thu Jul 4 06:44:49 MDT 2013


erik wrote:
 > Hi,
 > 
 > On Wed, Jul 03, 2013 at 04:09:30PM -0400, Paul Fox wrote:
 > > i believe the problem is that if we take an alarm signal while still
 > > in the middle of disableProcessFlow(), we'll call disableProcessFlow()
 > > again.  so rather than clearing the processFlowEnabled flag when we're
 > > finished disabling, we should probably clear it beforehand, as in this
 > > patch.
 > 
 > The idea sounds right, and on Linux (or rather not on SCO) it should reduce
 > the race window significantly.

do you see obvious further window(s)?

 > 
 > Does the following patch work as well?

i'm sure it would.  but i was actually going to suggest a different,
second patch.  i was going to suggest removing the sco ifdefs entirely.

thoughts?

paul

 > 
 > ---8<---
 > Index: server/dda/voxware/auvoxware.c
 > ===================================================================
 > --- server/dda/voxware/auvoxware.c	(revision 285)
 > +++ server/dda/voxware/auvoxware.c	(working copy)
 > @@ -1326,6 +1326,8 @@
 >  {
 >  #ifndef sco
 >      int rate;
 > +
 > +    processFlowEnabled = AuFalse;
 >  #endif /* sco */
 >  
 >      if (NasConfig.DoDebug) {
 > @@ -1358,7 +1360,9 @@
 >          oneMoreTick();
 >  #endif
 >  
 > +#ifdef sco
 >          processFlowEnabled = AuFalse;
 > +#endif
 >  
 >          if (relinquish_device)
 >              closeDevice();
 > ---8<---
 > 
 > This should keep the code on SCO unaltered.
 > 
 > > (i'm not _absolutely_ sure this is a good fix, since i'm debugging
 > > this remotely, on a system at home with no speakers connected, which
 > > isn't the most complete way to debug nasd.  but gdb says it's doing
 > > the right thing.  :-)
 > 
 > I have only read the code, not even compile tested the patch, so please
 > test. :-)
 > 
 > Thanks,
 > Erik
 > 
 > P.S. I don't really care about SCO compatibility, but I don't want to break
 >      code which might currently work.
 >      Removing all the #ifdef sco sections to improve maintainability needs
 >      to be seperate from this bug fix.
 > -- 
 > Backwards compatibility is more than "technically it still works". It's
 > something almost sacred.
 >                         -- Linus Torvalds
 > _______________________________________________
 > nas mailing list
 > nas at radscan.com
 > http://radscan.com/cgi-bin/mailman/listinfo/nas

----------------------
 paul fox, pgf at foxharp.boston.ma.us (arlington, ma, where it's 74.1 degrees)


More information about the nas mailing list