On Son, 2002-01-27 at 19:41, Peter Surda wrote:
> On Sun, Jan 27, 2002 at 06:03:42PM +0100, Michel Dänzer wrote:
> 
> > > The first one definitely wasn't correct. A process of pid 0 doesn't exist, but
> > > it has been handled as if it existed.
> > The test ( buf->pid != current->pid ) isn't there for fun. The pid field
> > of the buffer must contain the current process' pid.
> Yes, exactly. But this test fails if buf->pid == 0, which is wrong.

No. As you say, 0 isn't a valid pid, which is covered by this test.

> Hence I added this test. See "added", not "deleted" or "replaced"

You "deleted" part of the ( buf->pid != current->pid ) test.

> > Looking at r128_freelist_get(), ( buf->pid == 0 ) means the buffer is
> > free, i.e. not supposed to be in use by any process.
> Yes thats exactly what I'm talking about, this isn't tested though in other
> places.

It is, see above.


> > is in the LeaveServer() function, where it releases the indirect buffer. Can
> > you try if that fixes the problem?  Another idea is to set
> > info->indirectBuffer to NULL in R128CCEAccelInit().
> Sounds reasonable, I'll try it.

So the first solution works, what about the second one?

> I hope I'll be around on tomorrows irc meeting, we can try stuff in realtime then :-)

Unfortunately, I can't attend tonight's meeting because I'm in military
service this week. :(


-- 
Earthling Michel Dänzer (MrCooper)/ Debian GNU/Linux (powerpc) developer
XFree86 and DRI project member   /  CS student, Free Software enthusiast

_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to