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