Sorry... forgot to reply-all.<br><div class="gmail_quote"><br>Actually, i think your problem was pretty close to mine except that I&#39;m not trying to use the Obj-C GC at all (we&#39;re using the classic retain-release mechanism).&nbsp; I guess when Boehm does its scan it doesn&#39;t see the instances. Your solution will probably end up looking pretty much like ours.<br>

<br>Thanks for the response!<br><font color="#888888">Martin</font><div><div></div><div class="Wj3C7c"><br><br><div class="gmail_quote">On Tue, Jan 13, 2009 at 12:44 PM, Duane Wandless <span dir="ltr">&lt;<a href="mailto:duane@wandless.net" target="_blank">duane@wandless.net</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>I think I understand your problem... but it might be different than what I encountered. &nbsp;Basically there are issues with the GC collectors of both C# and Obj-C. &nbsp; Neither knows about objects created in the other world. &nbsp;In my application I have an Obj-C application that runs and embeds Mono. &nbsp;The Mono code creates lots of C# objects. &nbsp;When the GC from Obj-C runs it destroys my C# objects that are created using Monobjc, or mobjc (which is faster and a smaller memory footprint).</div>


<div><br></div><div>The basic recommendation is don&#39;t use the Obj-C GC when embedding Mono. &nbsp;So what I did was: &nbsp;in my constructor for my C# objects I send an event to the Obj-C world to add the object to a list. &nbsp;Then in the deconstructor I release them from the Obj-C list. &nbsp;This allows the use of the Obj-C GC.</div>


<div><br></div><div>Best of luck.</div><br><div class="gmail_quote"><div><div></div><div>On Tue, Jan 13, 2009 at 3:10 PM, Martin Smith <span dir="ltr">&lt;<a href="mailto:martin.smith.jr@gmail.com" target="_blank">martin.smith.jr@gmail.com</a>&gt;</span> wrote:<br>


</div></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div></div><div>Hello,<br><br>We are working on an application where we&#39;re embedding Mono in an Objective-C application.&nbsp; One of the issues that we&#39;re seeing is that if the GC does not &quot;see&quot; pointers that are stored in Objective-C objects.&nbsp; The side effect is that when we run our applications, the Obj-C objects will have instance variables that will eventually raise a SIGSEV (NullReferenceException) whenever the garbage collector runs.<br>



<br>Does anyone else have experience with this problem?&nbsp; I know one of the things we could probably do is maintain a data structure that stores all the &quot;live&quot; mono pointers and then write smart pointer classes that explicitly maintained ref counts on these objects, but I&#39;m wondering if there&#39;s an easier way.<br>



<br>Thanks in advance,<br><font color="#888888">Martin<br>
</font><br></div></div>_______________________________________________<br>
Mono-osx mailing list<br>
<a href="mailto:Mono-osx@lists.ximian.com" target="_blank">Mono-osx@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-osx" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-osx</a><br>
<br></blockquote></div><br>
<br>_______________________________________________<br>
Mono-osx mailing list<br>
<a href="mailto:Mono-osx@lists.ximian.com" target="_blank">Mono-osx@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-osx" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-osx</a><br>
<br></blockquote></div><br>
</div></div></div><br>