larryd1@attctc.Dallas.TX.US (Larry Clark) (09/01/89)
We recently up graded our 8810 to ultrix 3.1 from ultrix 3.0 (rev 64)
and several of our applications ceased working. The applications
either involved popen() or system() and signal(SIGSEGV, SIG_IGN). The
following code hangs forever with the signal(SIGSEGV, SIG_IGN) compiled
in it.
Maybe this will save someone some time looking for the reason an
application ceased to work. I've called DEC and will file an SPR.
Larry Clark
#include <stdio.h>
#include <signal.h>
main()
{
FILE *fp;
char command[128];
int i;
#ifdef IN
signal(SIGSEGV, SIG_IGN);
#endif
sprintf(command, "sh -c lp -d lp0");
fp = popen(command, "w");
if (fp == NULL) {
printf("It's null\n");
exit(-1);
}
for (i = 0; i < 56; i++) {
sprintf(command, "line %03d\n", i);
fprintf(fp, "%s", command);
fflush(fp);
}
pclose(fp);
}