Alan Cox wrote:
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

Hmm, I remeber the discussion. I thought we were pretty much in sync with the kernel -- I guess this must be 2.4, right?


So you get
        open    ->open
        close   ->flush, ->release

        open    ->open
        fork
        close   ->flush
        close   ->flush. ->release

So, was the gist of the fix to simply relocate the current release() stuff to flush()? I'm going to go & read the code now.


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

Reply via email to