Hi Steve,

this is not a good solution for the reasons that Anders outlined in another email. I hope you don't have any plugins relying on this for memory clean up. Remember that Nuke can create a lot of Ops, so you could end up exhausting your shared memory quite quickly.

    Wouter

On 09/07/2012 16:57, Steve Booth wrote:
On windows, all you have to do is hook the WndProc using SetWindowsHookEx:

http://msdn.microsoft.com/en-us/library/windows/desktop/ms644990%28v=vs.85%2
9.aspx

And then watch for the WM_ENDSESSION windows message:

http://msdn.microsoft.com/en-us/library/windows/desktop/aa376889%28v=vs.85%2
9.aspx

This informs the user that the windows-based process (which of course, Nuke
is) is terminating.  You can deallocate the shared resources here.

Steve


-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Wouter
Klouwen
Sent: Monday, July 09, 2012 7:56 AM
To: [email protected]
Subject: Re: [Nuke-dev] Op destructor does not get called?

On 09/07/2012 15:42, Steve Booth wrote:
Also note, Anders, that nothing is left hanging. Even though your
destructors are not called, all heap-allocated space associated with a
process is automatically freed when the process terminates. So, when
you exit Nuke, you get your memory back.

The problem with shared memory is that it must be explicitly deallocated. If
the reference from his plug-in is not cleaned up the OS will (incorrectly)
think that it can't free that chunk.
So yes, while heap allocated space may be reclaimed, that's not the case
with shared memory.

For some more background, I suggest reading about POSIX Shared Memory:

http://www.cs.cf.ac.uk/Dave/C/node27.html


HTH,
      Wouter

--
Wouter Klouwen, Software Engineer
The Foundry, 6th Floor, Comms Building, 48 Leicester Sq, London WC2H LT
Tel: +442079686828 . Fax: +4420 79308906 . thefoundry.co.uk The Foundry
Visionmongers Ltd . Reg.d in England and Wales No: 4642027


_______________________________________________
Nuke-dev mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev

_______________________________________________
Nuke-dev mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev



--
Wouter Klouwen, Software Engineer
The Foundry, 6th Floor, Comms Building, 48 Leicester Sq, London WC2H LT
Tel: +442079686828 • Fax: +4420 79308906 • thefoundry.co.uk
The Foundry Visionmongers Ltd • Reg.d in England and Wales No: 4642027


_______________________________________________
Nuke-dev mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev

Reply via email to