Professional Web Applications Themes

sigsuspend - UNIX Programming

Hi, I am trying to fix an erratic s/w problem , that is very hard to reproduce !!! Basically processes seem to freeze and do nothing. When I perform a TRUSS , I get the following : sigsuspend(0xEFFFED60) (Sleeping). The strange thing is when I grep for sigsuspend in the code, I find that it is not being called. Can this system call be called indirectly through another system function . E.G I am calling pause but when I wrote an example function and performed a truss it showed pause() (Sleeping)!! Also, Is there any way, I can determine what ...

  1. #1

    Default sigsuspend

    Hi,
    I am trying to fix an erratic s/w problem , that is very hard to reproduce !!!
    Basically processes seem to freeze and do nothing.
    When I perform a TRUSS , I get the following :
    sigsuspend(0xEFFFED60) (Sleeping).
    The strange thing is when I grep for sigsuspend in the code, I find that it
    is not being called. Can this system call be called indirectly through another
    system function . E.G I am calling pause but when I wrote an example function
    and performed a truss it showed pause() (Sleeping)!!
    Also,
    Is there any way, I can determine what signals the mask is allowing / blocking!!!
    The OS is SunOS.
    Ta
    Pat
    pat Guest

  2. #2

    Default Re: sigsuspend

    In article <google.com>,
    securicor.co.uk (pat saunders) wrote:
     

    It could be called internally by library functions.
     

    I believe Solaris's truss has an option to show function calls in
    addition to system calls. If you use that option, you should be able to
    determine what library is calling sigsyspend().

    --
    Barry Margolin, mit.edu
    Arlington, MA
    *** PLEASE post questions in newsgroups, not directly to me ***
    Barry Guest

  3. #3

    Default Re: sigsuspend


    Barry Margolin <mit.edu> writes:
     
    >
    > It could be called internally by library functions.

    >
    > I believe Solaris's truss has an option to show function calls in
    > addition to system calls. If you use that option, you should be able to
    > determine what library is calling sigsyspend().[/ref]

    You can also use Solaris's pstack to dump the stack traces
    for the process's threads. There are a number of useful tools
    in /usr/proc/bin that are worth becoming familiar with.

    -SEan

    Sean Guest

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139