ted@nih-csl.UUCP (ted persky) (02/24/89)
Hello: I've discovered a problem in "vi", which I believe can be linked to the SIGWINCH signalling, but I'd like to throw it out to the user community to see if anyone else can duplicate it. First of all, I run an IBM RT model 6151 with AOS (Unix) flavor of BSD 4.3. We run X Windows V11.R3 on the Andrew File System. (Whew!) Here's what happens: First, set up two files, call them A and B. "View" (or "vi -R") the first one, A within an xterm. Once you have the file displayed, press ':', and at the bottom of the window enter "!view B". Now file B should display in the window, and you have the file A process and a shell child of that process which are sleeping. Now resize the window; move it left or right, try to iconify it. (I use cwm as the window manager, but you may try it with another.) What happens to me is that the first file, A, comes back into the window. Now try a <cntl> g. You'll see the name of file B in the status line! You should notice that, if you move the window back and forth, that it toggles between the two buffers. This is not the way it should work. The first file should remain asleep until the second process terminates or is killed. If anyone out there can duplicate this, I'd really appreciate a mail message to confirm. Furthermore, if you have any ideas as to what's causing it, it would be great to post it. We in my group think it's a race condition for the window resource (xterm). In other words, the sleeping parent process wakes at the signal WINCH. This signal is new to BSD 4.3. Any ideas out there? Sincerely yours, Ted Persky