zifrony@TAURUS.BITNET (05/28/90)
I wish to thank Dow Dewar and Dave Brennen from DG, which lent me a helping hand. Any DG/UX users, please note the following: 1. Add a signal(SIGALRM, blink) ; statement in the beginning of the blink() routine (in blink.c). This is to reinstall the signal handler. 2. Use libXt.a and libXmu.a from the standard X11 distribution of DG/UX 4.20; build libXaw.a from the sources on the contribution tape, using -DNOT_MOTIF as a compiler option. Thanks again to those who help, Doron Zifrony
envbvs@epb2.lbl.gov (Brian V. Smith) (05/30/90)
In article <1337@taurus.BITNET>, zifrony@TAURUS.BITNET writes: |> I wish to thank Dow Dewar and Dave Brennen from DG, which lent me |> a helping hand. |> |> Any DG/UX users, please note the following: |> |> 1. Add a signal(SIGALRM, blink) ; statement in the beginning of |> the blink() routine (in blink.c). This is to reinstall the |> signal handler. |> |> 2. Use libXt.a and libXmu.a from the standard X11 distribution of |> DG/UX 4.20; build libXaw.a from the sources on the contribution |> tape, using -DNOT_MOTIF as a compiler option. |> Sorry, I have to disagree. The signal() method is an inherently unstable method of binking the cursor in X. The problem is that, since the X library is not re-entrant, there exists a good possibility that you will interrupt an already-in-progress Xlib call with another Xlib call in the blink routine. It's funny that this is reported to be the SOLUTION to the segmentation violation, since this is what causes it in the first place. The solution is the use XtAddTimeOut() as I have done in xfig 2.0 to blink the cursor. You can get xfig 2.0 from expo.lcs.mit.edu or comp.sources.x. _____________________________________ Brian V. Smith (bvsmith@lbl.gov) Lawrence Berkeley Laboratory I don't speak for LBL, these non-opinions are all mine.