Проблема не столько в том, что надо шарить, а в том, откуда брать ссылку\поинтер на ресурс. Если просто через екстерн, то сам понимаешь какой пиздец можно наворотить
опять всё в кучу у тебя. Почему ресурсы по экстерну? Можно ли выделить какой-то набор операции по работе с ресурсами? Насколько низкоуровневые твои ресурсы?
не предлагаю реализовывать "транзакции" или "сессии", когда у тебя есть какие-то примитивы синхронизации и что-то, что позволяет работать с ресурсом чему-то одному.