On Sat, 2003-02-22 at 22:38, Keith Whitwell wrote:
Running into a problem when killing glthreads with Ctrl-C. Normally this would invoke the release() method and clean up buffers, locks etc. Unfortunately this doesn't work so well with threads - the release method is being called only once despite the 3 processes (threads) that are being killed. Unfortunately the drm module makes use of current->pid extensively, so it really expects each thread to invoke a release() call.
This was discussed here a while ago, and fixed in the kernel DRM for DRM 4.2 at least. There are two methods that matter here
->flush is called each time close() occurs ->release is called on the final close and disposal of a file
So you get open ->open close ->flush, ->release
open ->open fork close ->flush close ->flush. ->release
Does flush get called when the process (thread) dies as well? I'm seeing identical behaviour for flush() as release() -- both are being called once despite multiple threads holding copies of the fd.
These threads (rh7.3) each have a unique pid, btw.
Keith
------------------------------------------------------- This SF.net email is sponsored by: SlickEdit Inc. Develop an edge. The most comprehensive and flexible code editor you can use. Code faster. C/C++, C#, Java, HTML, XML, many more. FREE 30-Day Trial. www.slickedit.com/sourceforge _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel