>i have done a strace run of rtcw and found some interesting things: > >somewhere rtcw opens the dsp device: >open("/dev/dsp", O_RDWR) = 16 >but i cant find the coresponding >close(16) > >this are the last lines of output (process locks here): > >write(2, "----- CL_Shutdown -----\n", 24) = 24 >write(2, "-----------------------\n", 24) = 24 >fcntl64(0, F_GETFL) = 0x802 (flags >O_RDWR|O_NONBLOCK) >fcntl64(0, F_SETFL, O_RDWR) = 0 >write(2, "Shutdown tty console\n", 21) = 21 >ioctl(0, SNDCTL_TMR_STOP, {B38400 opost isig icanon echo ...}) = 0 >_exit(0) = ? > >i dont know much about kernel internals - but isnt _exit a kernel syscal >that is supposed to close all open devices?
sure, it does. but strace won't see, since it all happens *inside* the kernel's handling of sys_exit(). strace merely traces actual syscalls, not what happens inside the kernel. _exit will call sys_close for every file in the task's file table. >so what kind of bug is this? rtcw? alsa? kernel? you haven't really described the bug very much. something to do with processes left around, etc. does the program(s) in question use threads? if so, using _exit() will fail to terminate all threads in the process. this is a linux issue. _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel