Hi! I've been searching for the reason why I was _loosing_ filters in the demuxer, and I've found out the subtle reason. In dmxdev.c, the dvb_dmxdev_release is calling dvb_dmxdev_filter_free. This function uses down_interruptible to wait for two mutexes, but if those are interrupted by a signal, the filter will be _lost_. This is easily reproducible with a program that creates a few threads, which open and close the filters regulary, and then running/interrupting this program some number of times. Is changing all down_interruptible (that protects freeing a structure) to down(), or will this have other unseen side-effects? Kenneth