help-smalltalk
[Top][All Lists]
Advanced

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

Re: [Help-smalltalk] Re: Any way to disable the "Alarm clock"?


From: Rick Flower
Subject: Re: [Help-smalltalk] Re: Any way to disable the "Alarm clock"?
Date: Thu, 27 May 2010 16:19:28 -0700
User-agent: RoundCube Webmail/0.2.1

On Thu, 27 May 2010 12:58:30 -0700, Rick Flower <address@hidden>
wrote:
> On Fri, 28 May 2010 01:55:25 +0800, Holger Hans Peter Freyther
> <address@hidden> wrote:
>> On 05/28/2010 01:32 AM, Rick Flower wrote:
>> 
>>> I'll look some more.. to see what is causing this.. It's hard to
>>> tell without a stackdump.. 

Ok.. I think I have an idea of what's going on and why sigaction
is different with the 3rd argument.. Here's a snippet that seems to
shed some light on why the sigaction's 3rd argument is zero :

4685/1:                       -> libgst:_gst_usleep(0x4e20, 0x0, 0x0, 0x0)
4685/1: alarm(0)                                        = 0
4685/1: setitimer(ITIMER_REAL, 0xFFBEEA90, 0xFFBEEA80)  = 0
4685/1: sigaction(SIGALRM, 0xFFBEE990, 0xFFBEEA40)      = 0
4685/1: sigprocmask(SIG_BLOCK, 0xFFBEEA30, 0xFFBEEA20)  = 0
4685/1: setitimer(ITIMER_REAL, 0xFFBEEA90, 0x00000000)  = 0
4685/1:     Received signal #14, SIGALRM, in sigsuspend() [caught]
4685/1: sigsuspend(0xFFBEEA10)                          Err#4 EINTR
4685/1: setcontext(0xFFBEE6F8)
4685/1: sigaction(SIGALRM, 0xFFBEE990, 0x00000000)      = 0
4685/1: sigprocmask(SIG_UNBLOCK, 0xFFBEEA30, 0x00000000) = 0
4685/1: setitimer(ITIMER_REAL, 0xFFBEEA80, 0x00000000)  = 0
4685/1:                       <- libgst:_gst_usleep() = 0

This seems to imply that the GST kernel calls _gst_usleep(20000)
and that code in turn is calling usleep (Solaris 8 defines both
HAVE_USLEEP and HAVE_NANOSLEEP) which in turn is doing all of the
signal crap you see above starting with the alarm(0), sigaction,etc.
You can see the return from the _gst_usleep() function at the 
bottom.. I'm going to switch over to using nanosleep with
will behave differently and see if that has any effect as the
manpage for it indicates that it does not mess with any signal
handling,etc.

By the way.. For reference, the truss line I'm using to gather
this up (in the off chance it may be useful for someone else)
is :

% truss -lf -s SIGALRM -u libgst,libsigsegv:: myCoolGSTScript >&foo.log

I'll keep you posted..



reply via email to

[Prev in Thread] Current Thread [Next in Thread]