void pageletIsHeld(boost::shared_ptr<Fora::Pagelet> inPagelet) { if (!kTrackPageletsInFreeStore) return; boost::mutex::scoped_lock lock(mPageletRefcountMutex); incref_(inPagelet); for (auto pageletAndRefcount: inPagelet->getHeldPagelets()) incref_(pageletAndRefcount.first); }
void set_ref(unsigned int index, hpx::naming::id_type id) { hpx::naming::id_type old_id = out_refs.at(index); if (id == old_id) return; out_refs[index] = id; if (old_id != hpx::naming::invalid_id) decref_(weight, old_id); if (id != hpx::naming::invalid_id) incref_(weight, id); }
int add_ref(hpx::id_type id) { // use a mutex here? int n = out_refs.size(); if (id != hpx::naming::invalid_id) { out_refs.push_back(id); incref_(weight, id); } return n; }