当前位置: 首页>>代码示例>>C++>>正文


C++ Zone::block_collector方法代码示例

本文整理汇总了C++中Zone::block_collector方法的典型用法代码示例。如果您正苦于以下问题:C++ Zone::block_collector方法的具体用法?C++ Zone::block_collector怎么用?C++ Zone::block_collector使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Zone的用法示例。


在下文中一共展示了Zone::block_collector方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: receive_request

    CFDataRef Monitor::receive_request(CFMessagePortRef local, SInt32 msgid, CFDataRef data, void *info) {
        Monitor *monitor = (Monitor *)info;
        CFIndex length = CFDataGetLength(data);
        memcpy(monitor->_request, CFDataGetBytePtr(data), length);

        CFDataRef reply = monitor->_response_buffer = CFDataCreateMutable(kCFAllocatorMallocZone, 0);
        
        // sample the stack.
        monitor->_stack_bottom = (void*) auto_get_sp();
        
        // scan args
        monitor->tokenize_args();
        
        // prevent the collector from collecting until we've processed the request.
        Zone *zone = Zone::zone();
        if (zone) zone->block_collector();

        // process request generating report
        monitor->process_request();
        
        // unblock the collector.
        if (zone) zone->unblock_collector();

        // return the response.
        CFDataAppendBytes(monitor->_response_buffer, (const UInt8*)"\0", 1);
        monitor->_response_buffer = NULL;
        return reply;
    }
开发者ID:Sophrinix,项目名称:iphone-macruby,代码行数:28,代码来源:AutoMonitor.cpp

示例2: agc_enumerate_references

void agc_enumerate_references(azone_t *zone, void *referent,
                              agc_reference_recorder_t callback,
                              void *stack_bottom, void *ctx)
{
    using namespace Auto;
    Zone *azone = (Zone *)zone;
    azone->block_collector();
    {
        ReferenceRecorder recorder(azone, referent, callback, stack_bottom, ctx);
        recorder.scan();
        azone->reset_all_marks_and_pending();
    }
    azone->unblock_collector();
}
开发者ID:takuma104,项目名称:iphone-macruby,代码行数:14,代码来源:agc_interface.cpp


注:本文中的Zone::block_collector方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。