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

Alan



-------------------------------------------------------
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