Re: Kernel deferring driver 'close' call: workaround?

Evan Lavelle
2011-01-26T15:30:01Z

On 26/01/2011 14:38, Alan Cox wrote:
> On Wed, 26 Jan 2011 14:29:50 +0000
> Evan Lavelle<sa212+lkml@cyconix.com> wrote:
>
>> On 26/01/2011 13:17, Alan Cox wrote:
>>
>>> I imagine the user has a bug in their app. The close method is called on
>>> the final close of the handle. That means if for example you do something
>>> like fork off a child process and forget to close the handle then it
>>> won't actually close down until the final user closes it.
>>
>> That was my first reaction, but the strace output only shows an open and
>> close of two shared libs, open and close for this board, some mmaps from
>> the driver, and the basic brk/fstat/etc stuff. Unfortunately, I haven't
>> got the app source, or even the board... :(
>
> An mmap reference counts as an open .... it won't be released until the
> mmaps are gone

Excellent! Fixed - well done.

-Evan