use of tet_fork (hard part)
Geoff Clare
gwc at opengroup.org
Fri May 5 17:57:24 EEST 2006
I haven't had any feedback on this second patch, so I guess that
means it's okay. I'll wait a few more days then commit it to CVS.
--
Geoff Clare <g.clare at opengroup.org>
The Open Group, Thames Tower, Station Road, Reading, RG1 1LX, England
I wrote, on 24 Apr 2006:
>
> I wrote, on 07 Apr 2006:
> >
> > I don't understand why Jamey's change didn't work either, but I
> > have tried an alternative fix which still passes for me. The basic
> > idea is to move the XCheckWindowEvent() on client2 into the child.
> > The actual changes are more complicated because of the need to
> > rearrange the path checking. I also changed the opendisplay() to
> > a direct XOpenDisplay() to avoid the same problem that Jamey fixed
> > in grbsrvr.m and ungrbsrvr.m.
>
> It turns out that this patch causes a problem in later "last close"
> tests because it leaves client2 open in the parent.
>
> This is easy to fix for POSIX systems - just close the file descriptor
> ConnectionNumber(client2) - but that won't work for non-POSIX systems.
> The patch below just calls XCloseDisplay(client2) on non-POSIX
> systems, which means the original problem will still exist on
> non-POSIX systems but hopefully the chances of the tests being run on
> a non-POSIX system which has the problem Jamey originally reported are
> small. (I'm not even sure if the test suite is still usable on
> non-POSIX systems, although it was originally designed to be.)
>
> Note that this is an incremental patch - it needs to be applied after
> the first patch.
>
> --
> Geoff Clare <g.clare at opengroup.org>
> The Open Group, Thames Tower, Station Road, Reading, RG1 1LX, England
>
> --- clsdsply.m.patch1 2006-04-07 11:59:00.000000000 +0100
> +++ clsdsply.m.new 2006-04-24 10:02:29.000000000 +0100
> @@ -494,6 +494,20 @@
> if (t006p_pass == 1)
> CHECK;
>
> + /*
> + * We need to close client2 otherwise it interferes with
> + * later "last close" tests. On POSIX systems we can
> + * directly close the underlying fd. On other systems
> + * we use XCloseDisplay() and hope that the fact it was
> + * used in the child doesn't cause a problem.
> + */
> + if(config.posix_system == 1) {
> + close(ConnectionNumber(client2));
> + }
> + else {
> + XCloseDisplay(client2);
> + }
> +
> CHECKPASS(2);
>
> >>ASSERTION Good B 1
> _______________________________________________
> xorg-test mailing list
> xorg-test at lists.x.org
> http://lists.x.org/mailman/listinfo/xorg-test
More information about the xorg-test
mailing list