diff options
author | Holger Waechtler <devnull@localhost> | 2002-12-05 16:17:52 +0000 |
---|---|---|
committer | Holger Waechtler <devnull@localhost> | 2002-12-05 16:17:52 +0000 |
commit | 7acf5c33a364392b151786f1f8606eefd9e08e71 (patch) | |
tree | 661caebbf588a3d61580576dbe52dfa53344da49 /linux | |
parent | be115681678c9a4e34a0cf5caa94c6297b4389f9 (diff) | |
download | mediapointer-dvb-s2-7acf5c33a364392b151786f1f8606eefd9e08e71.tar.gz mediapointer-dvb-s2-7acf5c33a364392b151786f1f8606eefd9e08e71.tar.bz2 |
applied patch suggested by Oliver Endriss <o.endriss@gmx.de> in order to avoid
race conditions while starting threads
Diffstat (limited to 'linux')
-rw-r--r-- | linux/drivers/media/dvb/dvb-core/dvb_frontend.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c index 755c183dc..da0533dd3 100644 --- a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c +++ b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c @@ -498,7 +498,7 @@ void dvb_frontend_stop (struct dvb_frontend_data *fe) { dprintk ("%s\n", __FUNCTION__); - while (fe->thread) { + while (fe->thread != NULL && fe->thread != (void*) ~0) { fe->exit = 1; wake_up_interruptible (&fe->wait_queue); current->state = TASK_INTERRUPTIBLE; @@ -519,6 +519,7 @@ void dvb_frontend_start (struct dvb_frontend_data *fe) return; fe->exit = 0; + fe->thread = (void*) ~0; kernel_thread (dvb_frontend_thread, fe, 0); } |