• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ LOG4CXX_WARN函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中LOG4CXX_WARN函数的典型用法代码示例。如果您正苦于以下问题:C++ LOG4CXX_WARN函数的具体用法?C++ LOG4CXX_WARN怎么用?C++ LOG4CXX_WARN使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



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

示例1: memset

void CDBThread::delImsiMsisdnByMsisdn(stMSISDN* pMsisdn)
{
    stImsiMsisdn numdata;
    memset(&numdata, 0, sizeof(stImsiMsisdn));
    //delete the old one from db by MSISDN
    numdata.MsisdnLen = pMsisdn->ucLen;
    memcpy(numdata.strMsisdn, pMsisdn->ucMSISDN, pMsisdn->ucLen);
    #ifdef __SYB_ESQL__
    int ret = ::delMsisdnImsiByMsisdn(&numdata, 0);
    if(ret < 0)
    {
        char buf[512] = {0};
        if(ERROR_WRITE(-ret))
        {
            LOG4CXX_WARN(dbLogger, "The DB connection has broken, reconnect ...");
            connect2db();
        }
        else
        {
            LOG4CXX_WARN(dbLogger, "DELETE MSISDN["<<pMsisdn->ucMSISDN<<"]<=>IMSI by MSISDN from DB failed: ", ::getLastError());
        }
    }
    #endif
    #ifdef __SYB_CTLIB__
    if(m_pSybClient->delMsisdnImsiByMsisdn(m_iDbConnId, "SapDB.dbo.TBL_ImsiMsisdn", &numdata) < 0)
    {
        char buf[512] = {0};
        snprintf(buf, sizeof(buf) - 1, "DELETE MSISDN[%s]<=>IMSI by MSISDN from DB failed: ", pMsisdn->ucMSISDN);
        if(checkSybCtlibError(buf) < 0)
        {
            _connect2db();
        }
    }
    #endif
}
开发者ID:cocti-zhonghao,项目名称:gx_missCallAlert,代码行数:35,代码来源:DBThread.cpp


示例2: LOG4CXX_WARN

void CDBThread::insertImsiMsisdn(stImsiMsisdn* pNum)
{
    #ifdef __SYB_ESQL__
    int ret = ::writeMsisdnImsi(pNum, 0);
    if(ret < 0)
    {
        if(ERROR_WRITE(-ret))
        {
            LOG4CXX_WARN(dbLogger, "The DB connection has broken, reconnect ...");
            connect2db();
        }
        else
        {
            LOG4CXX_WARN(dbLogger, "INSERT MSISDN["<<pNum->strMsisdn<<"]<=>IMSI["<<pNum->strImsi<<"] to DB failed: "<<::getLastError());
        }
    }
    #endif
    #ifdef __SYB_CTLIB__
    if(m_pSybClient->write_ImsiMsisdn(m_iDbConnId, "SapDB.dbo.TBL_ImsiMsisdn", pNum) < 0)
    {
        char buf[512] = {0};
        snprintf(buf, sizeof(buf) - 1, "INSERT MSISDN[%s]<=>IMSI[%s] to DB failed: ", pNum->strMsisdn, pNum->strImsi);
        if(checkSybCtlibError(buf) < 0)
        {
            _connect2db();
        }
    }
    #endif
}
开发者ID:cocti-zhonghao,项目名称:gx_missCallAlert,代码行数:29,代码来源:DBThread.cpp


示例3: LOG4CXX_INFO

void QueryService::AddService()
{
	std::list<std::string>::iterator iter = file_list_.begin();
	void* handler;
	QueryInfo* query;
	QueryObj result;

	for(;iter!=file_list_.end();++iter)
	{
		std::string temp_path = *iter;
		LOG4CXX_INFO(log_,temp_path);
		handler = dlopen(temp_path.c_str(),RTLD_LAZY);

		if(!handler)
		{
			//load failed
			LOG4CXX_WARN(log_,"Can not load so: "+*iter);
			continue;
		}
		dlerror();

		query = (QueryInfo *)dlsym(handler,g_query_name.c_str());
		const char* dlsym_error = dlerror();
		if(dlsym_error)
		{
			dlclose(handler);
			LOG4CXX_WARN(log_,"Can not find QueryInfo in "+*iter);
			continue;
		}
		
		result = query->handler();
		node_.service()->addService(result.name,result.object,false);
		LOG4CXX_INFO(log_,"add service "+result.name);
	}
}
开发者ID:keyboard-man,项目名称:kelp,代码行数:35,代码来源:query_service.cpp


示例4: getSessionName

void IRCNetworkPlugin::handleJoinRoomRequest(const std::string &user, const std::string &room, const std::string &nickname, const std::string &password) {
	std::string session = getSessionName(user, room);
	std::string target = getTargetName(room);

	LOG4CXX_INFO(logger, user << ": Session name: " << session << ", Joining room " << target);
	if (m_sessions[session] == NULL) {
		if (m_servers.empty()) {
			// in gateway mode we want to login this user to network according to legacyName
			if (room.find("@") != std::string::npos) {
				// suffix is %irc.freenode.net to let MyIrcSession return #room%irc.freenode.net
				m_sessions[session] = createSession(user, room.substr(room.find("@") + 1), nickname, "", room.substr(room.find("@")));
			}
			else {
				LOG4CXX_WARN(logger, user << ": There's no proper server defined in room to which this user wants to join: " << room);
				return;
			}
		}
		else {
			LOG4CXX_WARN(logger, user << ": Join room requested for unconnected user");
			return;
		}
	}

	m_sessions[session]->addAutoJoinChannel(target, password);
	m_sessions[session]->sendCommand(IrcCommand::createJoin(FROM_UTF8(target), FROM_UTF8(password)));
	m_sessions[session]->rooms += 1;

	// update nickname, because we have nickname per session, no nickname per room.
	handleRoomNicknameChanged(user, target, TO_UTF8(m_sessions[session]->nickName()));
}
开发者ID:stv0g,项目名称:spectrum2,代码行数:30,代码来源:ircnetworkplugin.cpp


示例5: LOG4CXX_WARN

void QueryService::GetFile()
{
	if(!boost::filesystem::exists(path_))
	{
		std::ostringstream oss;
		oss << "path do not exists!!";
		LOG4CXX_WARN(log_,oss.str());
	}
	else if(path_.empty())
	{
		std::ostringstream oss;
		oss << "path is empty!";
		LOG4CXX_WARN(log_,oss.str());
	}
	else
	{
		boost::filesystem::directory_iterator end_it;
		for(boost::filesystem::directory_iterator it(path_);
				it!=end_it;++it)
		{
			boost::filesystem::path temp(*it);
			//only load so file
			if(temp.extension() == ".so")
			{
				file_list_.push_back(temp.string());
				std::ostringstream oss;
				oss << "find " << temp.filename();
				LOG4CXX_DEBUG(log_,oss.str());
			}
		}
	}
}
开发者ID:keyboard-man,项目名称:kelp,代码行数:32,代码来源:query_service.cpp


示例6: LOG4CXX_WARN

bool Collector::TryToConnect(ACE_SOCK_Connector& con,ACE_SOCK_Stream& peer)
{
	if(data_source_.node_list.size() == 0)
	{
		std::ostringstream oss;
		oss << data_source_.name << " have no legal IP";
		LOG4CXX_WARN(log_,oss.str());

		return false;
	}
	
	for(int i=0;i<data_source_.node_list.size();i++)
	{
		std::string ip_temp = data_source_.node_list[i].ip;
		unsigned int port = data_source_.node_list[i].port;
		ACE_INET_Addr addr(port,ip_temp.c_str());

		if(con.connect(peer,addr)==0)
		{
			return true;
		}
	}

	std::ostringstream oss;
	oss << "can not connect every host in cluster:" << data_source_.name;
	LOG4CXX_WARN(log_,oss.str());

	return false;
}
开发者ID:keyboard-man,项目名称:kelp,代码行数:29,代码来源:collector.cpp


示例7: lock

 void MpiLauncher::handleKillTimeout(boost::shared_ptr<boost::asio::deadline_timer>& killTimer,
                                     const boost::system::error_code& error)
 {
     ScopedMutexLock lock(_mutex);

     if (error == boost::asio::error::operation_aborted) {
         assert(_pid < 0);
         LOG4CXX_TRACE(logger, " MPI launcher kill timer cancelled");
         return;
     }
     if (error) {
         assert(false);
         LOG4CXX_WARN(logger, "MPI launcher kill timer encountered error"<<error);
     }
     if (_pid <= 0) {
         LOG4CXX_WARN(logger, "MPI launcher kill timer cannot kill pid="<<_pid);
         return;
     }
     if (!_waiting) {
         assert(false);
         LOG4CXX_ERROR(logger, "MPI launcher kill timer cannot kill pid="<<_pid);
         throw InvalidStateException(REL_FILE, __FUNCTION__, __LINE__)
             << " MPI launcher process cannot be killed";
     }
     LOG4CXX_WARN(logger, "MPI launcher is about to kill group pid="<<_pid);

     // kill launcher's proc group
     MpiErrorHandler::killProc(_installPath, -_pid);
 }
开发者ID:hansmire,项目名称:scidb-osx-12.10-mountain-lion,代码行数:29,代码来源:MPILauncher.cpp


示例8: while

void CDBThread::connect2db()
{
    #ifdef __SYB_ESQL__
    int ret = -1;
    while((ret = ::connectDb(sysPtr->getSysCfg().szDbUser, sysPtr->getSysCfg().szDbPassword, sysPtr->getSysCfg().szDbName)) < 0 && !EXIT())
    {
		LOG4CXX_WARN(dbLogger, "Connect to DB failed: "<<::getLastError()<<", retry after 3s ...");
        ::disconnectDb(0);
        Delay2(3, 0);
    }
    if(ret >= 0) LOG4CXX_DEBUG(dbLogger, "Connect to db OK");
    #endif
    #ifdef __SYB_CTLIB__
    while(m_pSybClient->open() < 0 && !EXIT())
    {
        LOG4CXX_WARN(dbLogger, "SYBASE CTLIB initialize failed, retry after 3s ...");
        Delay2(3, 0);
    }
    while((m_iDbConnId = m_pSybClient->connect(sysPtr->getSysCfg().szDbName, sysPtr->getSysCfg().szDbUser, sysPtr->getSysCfg().szDbPassword)) < 0 && !EXIT())
    {
        LOG4CXX_WARN(dbLogger, "Connect to db failed, retry after 3s ...");
        Delay2(3, 0);
    }
    if(m_iDbConnId >= 0) LOG4CXX_DEBUG(dbLogger, "Connect to db OK");
    #endif
}
开发者ID:cocti-zhonghao,项目名称:gx_missCallAlert,代码行数:26,代码来源:DBThread.cpp


示例9: doMsg

	bool doMsg(std::string& reply, const std::string& msg)
	{
		Cmd::Set setmsg;
		if (setmsg.ParseFromString(msg))
		{
			const std::string& key = setmsg.key();
			const std::string& value = setmsg.value();

			LOG4CXX_INFO(logger, "<" << pthread_self() << "> set : " << setmsg.key() << ", " << setmsg.value().size());


			RedisConnectionByKey redis(key, worker->cachePool());
			if (redis)
			{
				redis->hmset("%s value %b flag %u touchtime %u", key.c_str(),
						value.data(), value.size(), 0, (unsigned int)time(0));
			}
			else
			{
				LOG4CXX_WARN(logger, "set " << key << " .. redis is not ready");
			}

			if (0 == s_cacheonly)
			{
				MySqlConnectionByKey mysql(key, worker->dbPool());
				if (mysql)
				{
					try {
						mysqlpp::Query query = mysql->query();
						query.reset();
						query << "replace into " 
						      << getKVSTableName(key) 
						      << "(`key`, value, flag, touchtime) values(" 
							  << mysqlpp::quote << key << ","
							  << mysqlpp::quote << value << ","
							  << 0 << ","
							  << time(0) << ")";
						query.execute();

						LOG4CXX_INFO(logger, "mysql " << key << "," << mysql->shard() << "," << getKVSTableName(key));
					}
					catch (std::exception& err)
					{
						LOG4CXX_WARN(logger, "set " << key << " .. mysql error:" << err.what());
						return false;
					}
				}
				else
				{
					LOG4CXX_WARN(logger, "set " << key << " .. mysql is not ready");
				}
			}
		}

		
		reply = "OK";
		return true;
	}
开发者ID:david-pp,项目名称:tinyworld,代码行数:58,代码来源:mycached.cpp


示例10: sendResponse

bool RosterResponder::handleSetRequest(const Swift::JID& from, const Swift::JID& to, const std::string& id, boost::shared_ptr<Swift::RosterPayload> payload) {
	sendResponse(from, id, boost::shared_ptr<RosterPayload>(new RosterPayload()));

	User *user = m_userManager->getUser(from.toBare().toString());
	if (!user) {
		LOG4CXX_WARN(logger, from.toBare().toString() << ": User is not logged in");
		return true;
	}

	if (payload->getItems().size() == 0) {
		LOG4CXX_WARN(logger, from.toBare().toString() << ": Roster push with no item");
		return true;
	}

	Swift::RosterItemPayload item = payload->getItems()[0];

	if (item.getJID().getNode().empty()) {
		return true;
	}

	Buddy *buddy = user->getRosterManager()->getBuddy(Buddy::JIDToLegacyName(item.getJID()));
	if (buddy) {
		if (item.getSubscription() == Swift::RosterItemPayload::Remove) {
			LOG4CXX_INFO(logger, from.toBare().toString() << ": Removing buddy " << buddy->getName());
			onBuddyRemoved(buddy);

			// send roster push here
			Swift::SetRosterRequest::ref request = Swift::SetRosterRequest::create(payload, user->getJID().toBare(), user->getComponent()->getIQRouter());
			request->send();
		}
		else {
			LOG4CXX_INFO(logger, from.toBare().toString() << ": Updating buddy " << buddy->getName());
			onBuddyUpdated(buddy, item);
		}
	}
	else if (item.getSubscription() != Swift::RosterItemPayload::Remove) {
		// Roster push for this new buddy is sent by RosterManager
		BuddyInfo buddyInfo;
		buddyInfo.id = -1;
		buddyInfo.alias = item.getName();
		buddyInfo.legacyName = Buddy::JIDToLegacyName(item.getJID());
		buddyInfo.subscription = "both";
		buddyInfo.flags = Buddy::buddyFlagsFromJID(item.getJID());
		LOG4CXX_INFO(logger, from.toBare().toString() << ": Adding buddy " << buddyInfo.legacyName);

		buddy = user->getComponent()->getFactory()->createBuddy(user->getRosterManager(), buddyInfo);
		user->getRosterManager()->setBuddy(buddy);
		onBuddyAdded(buddy, item);
	}

	return true;
}
开发者ID:Ghabry,项目名称:libtransport,代码行数:52,代码来源:rosterresponder.cpp


示例11: LOG4CXX_WARN

                        void LoggerUtil::warning(HLoggerPtr logger, const char* msg){
#ifdef HAVE_LOG4CXX
                            LOG4CXX_WARN(static_cast<Logger*>(logger), msg);
#else
                            stdLogOut(logger, msg);
#endif
                        }
开发者ID:lince,项目名称:ginga-srpp,代码行数:7,代码来源:LoggerUtil.cpp


示例12: LOG4CXX_WARN

void ConversationManager::handleMessageReceived(Swift::Message::ref message) {
// 	std::string name = message->getTo().getUnescapedNode();
// 	if (name.find_last_of("%") != std::string::npos) { // OK when commented
// 		name.replace(name.find_last_of("%"), 1, "@"); // OK when commented
// 	}
	std::string name = Buddy::JIDToLegacyName(message->getTo());
	if (name.empty()) {
		LOG4CXX_WARN(logger, m_user->getJID().toString() << ": Tried to create empty conversation");
		return;
	}

	// create conversation if it does not exist.
	if (!m_convs[name]) {
		Conversation *conv = m_component->getFactory()->createConversation(this, name);
		addConversation(conv);
	}
	// if it exists and it's MUC, but this message is PM, get PM conversation or create new one.
	else if (m_convs[name]->isMUC() && message->getType() != Swift::Message::Groupchat) {
		std::string room_name = name;
		name = room_name + "/" + message->getTo().getResource();
		if (m_convs.find(name) == m_convs.end()) {
			Conversation *conv = m_component->getFactory()->createConversation(this, message->getTo().getResource());
			conv->setRoom(room_name);
			conv->setNickname(name);
			addConversation(conv);
		}
	}

	// update resource and send the message
	m_convs[name]->setJID(message->getFrom());
	m_convs[name]->sendMessage(message);
}
开发者ID:Ghabry,项目名称:libtransport,代码行数:32,代码来源:conversationmanager.cpp


示例13: SetVorbisCommentDouble

static bool
SetVorbisCommentDouble(FLAC__StreamMetadata *block, const char *key, CFNumberRef value, CFStringRef format = NULL)
{
	assert(NULL != block);
	assert(NULL != key);
	
	CFStringRef numberString = NULL;
	
	if(NULL != value) {
		double f;
		if(!CFNumberGetValue(value, kCFNumberDoubleType, &f)) {
			log4cxx::LoggerPtr logger = log4cxx::Logger::getLogger("org.sbooth.AudioEngine.AudioMetadata.FLAC");
			LOG4CXX_WARN(logger, "CFNumberGetValue() failed");
			return false;
		}

		numberString = CFStringCreateWithFormat(kCFAllocatorDefault, NULL, NULL == format ? CFSTR("%f") : format, f);
	}
	
	bool result = SetVorbisComment(block, key, numberString);
	
	if(numberString)
		CFRelease(numberString), numberString = NULL;
	
	return result;
}
开发者ID:bookshelfapps,项目名称:SFBAudioEngine,代码行数:26,代码来源:FLACMetadata.cpp


示例14: LOG4CXX_WARN

void ThriftAsyncClientPool::DiscoverServicesDelegate::process(CallbackResponse response,
        const ::std::vector< ::std::string>& services) {
    if ((response != ServiceDiscoveryCallback::OK) || (services.empty())) {
        LOG4CXX_WARN(_poolRef.LOG, "Failed to get application services."
                "  This might be okay if no application services have been registered");
    } else if (services.empty()) {
        //done discovering all services for this iteration. Invoke next callback
        _nextCb->operator()();
        return;
    }

    ::boost::optional< ::std::string> appName_opt;

    if ((_nextCb != _ownerDispatch) &&
        (_poolRef._applicationName.find_first_not_of(' ') != ::std::string::npos)) {
        //not looking for common serivces. If application name has been set,
        //set the optional agrument for the endpoint discovery delegate
        appName_opt = _poolRef._applicationName;
    }

    ::boost::shared_ptr<DiscoverEndpointsDelegate> delegate =
            ::boost::make_shared<DiscoverEndpointsDelegate>(_poolRef, ::boost::bind(*_nextCb),
                    appName_opt, services);

    //save a boost shared ptr to this instance inorder not to prematurely
    //destory the instance before the endpoint delegate completes
    delegate->_servicesDelegate = shared_from_this();

    //use a shared_ptr to invoke the discoverEndpoint method as the discoverEndpoint method uses the
    //shared_ptr to hold a reference to the delegate object event after this current function
    //exits.
    delegate->discoverEndpoints();
}
开发者ID:crawlik,项目名称:ezbake-common-cpp,代码行数:33,代码来源:ThriftAsyncClientPool.cpp


示例15: ifs

 rgb_classification_dataset::rgb_classification_dataset(const std::string& filename, int pattern_size, int n_crops)
     :m_n_crops(n_crops)
     ,m_pattern_size(pattern_size)
     ,m_filename(filename){
         std::ifstream ifs(filename.c_str());
         unsigned int n_cls;
         ifs >> n_cls;
         ifs.get(); // consume '\n'
         for(unsigned int klass = 0; klass < n_cls; klass++){
             std::string line;
             std::getline(ifs, line);
             if(ifs)
                 m_class_names.push_back(line);
         }
         cuvAssert(m_class_names.size() == n_cls);
         while(ifs){
             meta_t m;
             ifs >> m.rgb_filename;
             //ifs >> m.klass; // dummy value for historical reasons
             ifs >> m.klass;
             if(ifs)
                 m_meta.push_back(m);
         }
         cuvAssert(m_meta.size() > 0);
         LOG4CXX_WARN(g_log, "read `"<< filename<<"', n_classes: "<<n_cls<<", size: "<<m_meta.size());
         m_predictions.resize(this->size());
         shuffle(false);
     }
开发者ID:deeplearningais,项目名称:cuvnet,代码行数:28,代码来源:cv_datasets.cpp


示例16: LOG4CXX_INFO

void Collector::PollData()
{
	ACE_SOCK_Stream peer;
	ACE_SOCK_Connector connector;
	try
	{
		if(TryToConnect(connector,peer))
		{
			std::ostringstream oss;
			oss << "poll data form cluster: " << data_source_.name;
			LOG4CXX_INFO(log_,oss.str());

			char buf[T_SIZE] = "request";
			if((peer.send(buf,sizeof(buf)))<=0)
				throw "KSN POLLER COLLECTOR SEND REQUEST ERROR!!";
			char* ch = new char[T_SIZE]();
			if((peer.recv(ch,T_SIZE)<=0))
				throw "KSN POLLER COLLECTOR RECV ERROR!!";

			msg_ = new ACE_Message_Block(ch,sizeof(*ch));
			sender_->putq(msg_);
		}
		else
		{
			std::ostringstream oss;
			oss << "Can not poll data form " + data_source_.name;
			LOG4CXX_WARN(log_,oss.str());
		}
	}
	catch(const char* ch)
	{
		LOG4CXX_ERROR(log_,ch);
	}
}
开发者ID:keyboard-man,项目名称:kelp,代码行数:34,代码来源:collector.cpp


示例17: LOG4CXX_WARN

bool TapeMsg::IsValid() {
	if(m_recId.length() == 0) {
		LOG4CXX_WARN(LOG.messaging,"Ignoring tape message with empty recId");
		return false;
	}
	return true;
}
开发者ID:havoc83,项目名称:oreka,代码行数:7,代码来源:TapeMsg.cpp


示例18: sizeof

int CGsmASythesize::sendPowerOff(SPowerOff& data)
{
    //@zh 判断是否是本地号码,否则不发送
    //stNumPrefix* prefix = findNumPrefix((unsigned char*)(&data.msisdn[0]));
    stNumPrefix* prefix = sysPtr->findNumPrefix((unsigned char*)(&data.msisdn[0]));
    if(!prefix) return 0;
    //

    WEvent evt;
    evt.PtlId = PTL_SAP;
    evt.PtlVer = 0; // 不填亦可,程序不做判断。
    evt.dmid = LMI_SCP << 4;
    evt.what = evControl;
    evt.evCode = SYT_SCP_MOFF;
    evt.msgLen = sizeof(SPowerOff);
    evt.msgPtr = NULL;
    evt.PktLength = sizeof(WEvent) + evt.msgLen;

    //
    evt.msgPtr = (char*)&data;
    int ret = ipcPtr->SendMsg(evt);
    if(ret < 0)
    {
        LOG4CXX_WARN(rootlog, "Send POWER ON message to SCP failed!");
    }
#ifdef SYTHESIZE_DEBUG
    else
    {
        printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n"
               "Send power off to scp:\nMSISDN: %s\n"
               "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n", data.msisdn);
    }
#endif
    return ret;
}
开发者ID:cocti-zhonghao,项目名称:gx_missCallAlert,代码行数:35,代码来源:GsmASythesize.cpp


示例19: LOG4CXX_DEBUG

void CoreBoundQueuesScheduler::pushToQueue(std::shared_ptr<Task> task)
{
  // check if task should be scheduled on specific core
  int core = task->getPreferredCore();

  if (core >= 0 && core < static_cast<int>(this->_queues)) {
    //potentially assigns task to a queue blocked by long running task
    this->_taskQueues[core]->push(task);
    LOG4CXX_DEBUG(this->_logger,  "Task " << std::hex << (void *)task.get() << std::dec << " pushed to queue " << core);
  } else if (core == Task::NO_PREFERRED_CORE || core >= static_cast<int>(this->_queues)) {

    if (core < Task::NO_PREFERRED_CORE || core >= static_cast<int>(this->_queues))
      // Tried to assign task to core which is not assigned to scheduler; assigned to other core, log warning
      LOG4CXX_WARN(this->_logger, "Tried to assign task " << std::hex << (void *)task.get() << std::dec << " to core " << std::to_string(core) << " which is not assigned to scheduler; assigned it to next available core");

    // lock queuesMutex to sync pushing to queue and incrementing next queue
    {
      std::lock_guard<lock_t> lk2(this->_queuesMutex);
      // simple strategy to avoid blocking of queues; check if queue is blocked - try a couple of times, otherwise schedule on next queue
      size_t retries = 0;
      while (static_cast<CoreBoundQueue *>(this->_taskQueues[this->_nextQueue])->blocked() && retries < 100) {
        this->_nextQueue = (this->_nextQueue + 1) % this->_queues;
        ++retries;
      }

      this->_taskQueues[this->_nextQueue]->push(task);
      //std::cout << "Task " <<  task->vname() << "; hex " << std::hex << &task << std::dec << " pushed to queue " << this->_nextQueue << std::endl;
      //round robin on cores
      this->_nextQueue = (this->_nextQueue + 1) % this->_queues;
    }
  }
}
开发者ID:JWUST,项目名称:hyrise,代码行数:32,代码来源:CoreBoundQueuesScheduler.cpp


示例20: sizeof

int SYSTEM::sendCDR     (SCallDetailRecord& data)
{
    WEvent evt;
    evt.PtlId = PTL_SAP;
    evt.PtlVer = 0; // 不填亦可,程序不做判断。
    evt.dmid = LMI_SCP << 4;
    evt.what = evControl;
    evt.evCode = SYT_SCP_CDR;
    evt.msgLen = sizeof(SCallDetailRecord);
    evt.msgPtr = NULL;
    evt.PktLength = sizeof(WEvent) + evt.msgLen;

    //
    evt.msgPtr = (char*)&data;
    int ret = ipcPtr->SendMsg(evt);
    if(ret < 0)
    {
        LOG4CXX_WARN(rootlog, "Send CDR message to SCP failed!");
    }
#ifdef SYTHESIZE_DEBUG
    else
    {
        printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n"
               "Send cdr to scp:\ncaller MSISDN: %s\ncallee MSISDN: %s\n"
               "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n", data.caller, data.called);
    }
#endif
    return ret;
}
开发者ID:cocti-zhonghao,项目名称:gx_missCallAlert,代码行数:29,代码来源:system.cpp



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ LOGD函数代码示例发布时间:2022-05-30
下一篇:
C++ LOG4CXX_TRACE函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap