Problem with TLI and signals

Jeppe Sommer jeppe at iesd.auc.dk
Thu Mar 28 07:35:00 AEST 1991


I am experiencing a problem with using TLI on my SPARCstation that I
_suspect_ is connected to our upgrade from Sun OS 4.1 to 4.1.1. 

6 months ago I implemented a number of C++ classes for high(er) level
network programming. This included an "activeServer" class which catches a
signal whenever an incomming connect indication arrives at the local TLI
endpoint. 

To obtain this I use the ioctl I_SETSIG command to specify which events
should generate a signal (S_INPUT in this case). This worked fine under
4.1. But now ioctl I_SETSIG _hangs_ when called.

I suspect that the problem is not connected to my source code. The Network
Programmers Guide includes an example (Revision A, March 27, 1990, Chapter
9, pp. 235-241) that _did_ work earlier, but also here ioctl I_SETSIG
hangs.

In this example the ioctl I_SETSIG is used for catching incomming
_disconnect_ indications while I use it for _connect_ indications. The
problem, however, remains the same. The code in the Sun example goes like
this:

    ...
    signal(SIGPOLL, connrelease);

    if (ioctl(conn_fd, I_SETSIG, S_INPUT) < 0) {
      perror("ioctl I_SETSIG failed");
      exit(24);
    }
    ...

conn_fd refers to a transport endpoint through which a connection is
accepted.  Prior to the execution of the above code conn_fd is in state
T_DATAXFER which is what should be expected.

I have tried both my own and Sun's programs on 3 different Sparcs, two of
which I know were working before the upgrade.

So my questions are: 

- Has anybody experienced these problems? 
- Has anybody tried the demo's of the Network Programming Guide under
  SunOS 4.1.1 with or without any luck?
- Any ideas of what the problem might be?

Any help would be very much appreciated.

                                                                Jeppe Sommer
                                Department of Mathematics & Computer Science
                                                          Aalborg University
                                                                     Denmark



More information about the Comp.sys.sun mailing list