コード例 #1
0
ファイル: mavlink_ftp.cpp プロジェクト: Sujo1/Firmware
void
MavlinkFTP::_workerTrampoline(void *arg)
{
	auto req = reinterpret_cast<Request *>(arg);
	auto server = MavlinkFTP::getServer();

	// call the server worker with the work item
	server->_worker(req);
}
コード例 #2
0
ファイル: kitsocket.cpp プロジェクト: icefox/kinkatta
// * class KitSocket *
KitSocket::KitSocket(const QString &host, unsigned short port, int timeout)
	: wHost(host),
	wPort(port),
	wTimeout(timeout),
	timer(this)
{
	keepAlive = true;
	paused = false;
	ksocket = 0;
	QObject::connect(&timer, SIGNAL(timeout()), this, SLOT(_worker()));
}
コード例 #3
0
ファイル: deferred_writer.cpp プロジェクト: ShaneHarvey/mongo
bool DeferredWriter::insertDocument(BSONObj obj) {
    // We can't insert documents if we haven't been started up.
    invariant(_pool);

    stdx::lock_guard<stdx::mutex> lock(_mutex);

    // Check if we're allowed to insert this object.
    if (_numBytes + obj.objsize() >= _maxNumBytes) {
        // If not, drop it.  We always drop new entries rather than old ones; that way the caller
        // knows at the time of the call that the entry was dropped.
        _logDroppedEntry();
        return false;
    }

    // Add the object to the buffer.
    _numBytes += obj.objsize();
    fassert(40588, _pool->schedule([this, obj] { _worker(InsertStatement(obj.getOwned())); }));
    return true;
}
コード例 #4
0
ファイル: main.c プロジェクト: sufzoli/suf-electronics-tm001
int main(void)
{
    WDTCTL = WDTPW | WDTHOLD;	// Stop watchdog timer

    set_dco(1);		// Set 1MHz clock

	// BIT 7-6 = 00 Select MCLK to DCOCLK
	// BIT 5-4 = 00 Set MCLK Clock Divider to /1
	// BIT   3 =  0 Select SMCLK to DCOCLK
	// BIT 2-1 = 00 Set SMCLK Clock Divider to /1
	// BIT   0 =  0 DCO resistor: internal (no meaning because using external is not possible)
	BCSCTL2 = 0;

	// Bit 5-4 = 11 Set ACLK Clock Divider to /8
	BCSCTL1 |= DIVA0 + DIVA1;

	// Bit 5-4 = 10 Select Low frequency clock to VLOCLK
	BCSCTL3 &= ~LFXT1S0;
	BCSCTL3 |= LFXT1S1;

	_init();	// initialize the peripheries

	__delay_cycles(800000);		// Startup delay - wait every peripheries

	// Setup Watchdog timer to provide the measurement time
    // WDTSSEL -  1 - Source ACLK (~12 kHz VLO)
	// WDTISx -  10 - clock/512 (23 - 24 Hz)
    // WDTTMSEL - 1 - Interval mode
    WDTCTL = WDTPW | WDTSSEL | WDTIS1 | WDTTMSEL;
    IE1 |= WDTIE; // Enable WDT interrupt

    _EINT();	// Enable interrupts

    // the main loop
	while(1)
	{
		// task sequence
		switch(scheduler)
		{
			case 0:
				// Wake Up MCP9808
				MCP9808_LPM(0);
				// lit conversion LCD segment
				LCDFL |= LCD_P1;
			    lcd35_send();
				break;
			case 1:
				_worker();
				// Shutdown MCP9808
				MCP9808_LPM(1);
				// switch of conversion LCD segment
			    LCDFL &= ~LCD_P1;
			    lcd35_send();
				break;
			case work_cycle:
				scheduler = -1;	// reset the sequence counter
				break;
		}
		scheduler++;
		if(ADC_busy)	// if ADC conversion is running we can only switch off the processor and not the SMCLK
		{
			LPM0;
		}
		else
		{
			LPM3;
		}
    }
}
コード例 #5
0
ファイル: AchievementMgr.cpp プロジェクト: 090809/TrinityCore
void PlayerAchievementMgr::SendAchievementEarned(AchievementEntry const* achievement) const
{
    // Don't send for achievements with ACHIEVEMENT_FLAG_HIDDEN
    if (achievement->Flags & ACHIEVEMENT_FLAG_HIDDEN)
        return;

    TC_LOG_DEBUG("criteria.achievement", "PlayerAchievementMgr::SendAchievementEarned(%u)", achievement->ID);

    if (!(achievement->Flags & ACHIEVEMENT_FLAG_TRACKING_FLAG))
    {
        if (Guild* guild = sGuildMgr->GetGuildById(_owner->GetGuildId()))
        {
            Trinity::BroadcastTextBuilder _builder(_owner, CHAT_MSG_GUILD_ACHIEVEMENT, BROADCAST_TEXT_ACHIEVEMENT_EARNED, _owner->getGender(), _owner, achievement->ID);
            Trinity::LocalizedPacketDo<Trinity::BroadcastTextBuilder> _localizer(_builder);
            guild->BroadcastWorker(_localizer, _owner);
        }

        if (achievement->Flags & (ACHIEVEMENT_FLAG_REALM_FIRST_KILL | ACHIEVEMENT_FLAG_REALM_FIRST_REACH))
        {
            // broadcast realm first reached
            WorldPackets::Achievement::ServerFirstAchievement serverFirstAchievement;
            serverFirstAchievement.Name = _owner->GetName();
            serverFirstAchievement.PlayerGUID = _owner->GetGUID();
            serverFirstAchievement.AchievementID = achievement->ID;
            sWorld->SendGlobalMessage(serverFirstAchievement.Write());
        }
        // if player is in world he can tell his friends about new achievement
        else if (_owner->IsInWorld())
        {
            Trinity::BroadcastTextBuilder _builder(_owner, CHAT_MSG_ACHIEVEMENT, BROADCAST_TEXT_ACHIEVEMENT_EARNED, _owner->getGender(), _owner, achievement->ID);
            Trinity::LocalizedPacketDo<Trinity::BroadcastTextBuilder> _localizer(_builder);
            Trinity::PlayerDistWorker<Trinity::LocalizedPacketDo<Trinity::BroadcastTextBuilder>> _worker(_owner, sWorld->getFloatConfig(CONFIG_LISTEN_RANGE_SAY), _localizer);
            Cell::VisitWorldObjects(_owner, _worker, sWorld->getFloatConfig(CONFIG_LISTEN_RANGE_SAY));
        }
    }

    WorldPackets::Achievement::AchievementEarned achievementEarned;
    achievementEarned.Sender = _owner->GetGUID();
    achievementEarned.Earner = _owner->GetGUID();
    achievementEarned.EarnerNativeRealm = achievementEarned.EarnerVirtualRealm = GetVirtualRealmAddress();
    achievementEarned.AchievementID = achievement->ID;
    achievementEarned.Time = time(NULL);
    if (!(achievement->Flags & ACHIEVEMENT_FLAG_TRACKING_FLAG))
        _owner->SendMessageToSetInRange(achievementEarned.Write(), sWorld->getFloatConfig(CONFIG_LISTEN_RANGE_SAY), true);
    else
        _owner->SendDirectMessage(achievementEarned.Write());
}