Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: Leftover kdvb-fe processes



Oliver Endriss wrote:
> Sometimes I see one zombie and one normal fe process, sometimes I see
> two normal fe processes. Sometimes that kernel oops happens,
> sometimes not. If you add some printk the oops disappears. :-)
> Looks like a kind of synchronisation problem.

The following patch will fix the kernel oops:
----------------------------  snip  ------------------------------------
--- dvb-api-v3.2002-11-29/driver/dvb_frontend.c	Fri Nov 29 14:16:01 2002
+++ dvb-api-v3.2002-11-29-new/driver/dvb_frontend.c	Mon Dec  2 09:08:19 2002
@@ -518,6 +518,7 @@
 		return;
 
 	fe->exit = 0;
+	fe->thread = (struct task_struct *) -1;
 
 	kernel_thread (dvb_frontend_thread, fe, 0);
 }
----------------------------  snip  ------------------------------------

The oops always occurred if there were *two* normal fe processes.
This happened when the frontend was closed and re-opened, before the 
first fe process had a chance to run. In this case fe->thread was still 
zero when dvb_frontend_start() was called for the second time...

Note that there is always a zombie fe process when vdr is running. 
Actually, a zombie process will be added each time the frontend is 
closed. This is a normal since zombie processes will not be removed 
until the parent process exits.

Oliver


-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index