У меня есть установка, в которой есть два процесса Cocoa, взаимодействующие с распределенными объектами (DO). Клиент использует сборку мусора, сервер — нет.
Кажется, что клиент цепляется за удаленные объекты вне моих прямых ссылок на них. Это означает, что даже после того, как у меня нет ссылок на объекты, они висят вокруг, принадлежащие NSDistantObjectTableEntry. Очевидно, что они не освобождаются на сервере.
Только когда клиент закрывается, он отпускает все удаленные объекты. Разрыв соединения вручную, вероятно, также сработает, но я не хочу делать это во время работы клиента.
Есть ли способ сказать клиенту GC'd DO отпустить удаленные объекты, на которые больше не ссылаются локально?