FW: Interrupted system call problem

Keith Seitz keiths@cygnus.com
Fri Apr 13 14:59:00 GMT 2001


On Thu, 12 Apr 2001, deCarmo, Linden wrote:

> I really would be grateful if someone had advice about how to work around or
> debug this.  It isn't a gdb issue and appears to be specific to Insight and
> select() on Solaris 8.  I even have tried multiple Solaris 8 boxes.

I've built a Solaris 8 Insight, and I don't see this problem.

Here's my testcase:

$ cat systemcall.c
#include <unistd.h>
#include <sys/time.h>
#include <stdio.h>

int
my_wait (long seconds, long microseconds)
{
  struct timeval tv;

  tv.tv_sec  = seconds;
  tv.tv_usec = microseconds;
  return (select (0, NULL, NULL, NULL, &tv));
}

int
main (int argc, char *argv[])
{
   int i;

   i = my_wait (15, 12345);
   printf ("my_wait returned %d\n", i);

   exit (0);
}
$ gcc -g systemcall.c -o systemcall
$ gdb -nw -q systemcall
Reading symbols from systemcall...done.
(gdb) r
Starting program: /home/keiths/systemcall/systemcall 
^C
Program received signal SIGINT, Interrupt.
0xff317ac8 in ?? ()
(gdb) bt
#0  0xff317ac8 in ?? ()
#1  0x00010788 in my_wait (seconds=15, microseconds=12345) at systemcall.c:12
#2  0x000107bc in main (argc=1, argv=0xffbefb64) at systemcall.c:20
(gdb) disassemble
No function contains program counter for selected frame.
(gdb)

If I do this with Insight, Insight stops but displays no source and no 
disassembly. It simply says "Select function to disassemble". Gdb is 
lost, and, consequently, so is Insight.

This is with sources updated today from sources.redhat.com. Does this 
testcase behave any differently for you?

Keith



More information about the Insight mailing list