Example #1
0
void end_channel_now(struct bufferevent *bev, hoststate_t* state) {
	log_trace("end-channel-now", "%s: Ending channel", state->ip_address_str);
	fill_DBuffer_all(state->ctrlBev, state, &state->ctrlDBuffer);

	if (state->dataBev != NULL) {
		fill_DBuffer_all(state->dataBev, state, &state->dataDBuffer);
		if (state->dataUsingSec) {
			SSL_set_shutdown(state->dataSec, SSL_RECEIVED_SHUTDOWN);
			SSL_shutdown(state->dataSec);
			state->dataSec = NULL;
		}
		bufferevent_free(state->dataBev);
		state->dataBev = NULL;
		log_debug(
							"end-channel-now",
							"%s: Force closed data channel",
							state->ip_address_str
		);
	}

	writeCtrlTrailer(state);
	DBuffer_destroy(&state->ctrlDBuffer);
	DBuffer_destroy(&state->dataDBuffer);
	DBuffer_destroy(&state->itemDBuffer);
	str_queue_destroy(&state->dirQueue);
	gconfig.open_connections--;
	gconfig.countComplete++;

	delete_all_timers(state);

	bufferevent_free(state->ctrlBev);
	state->ctrlBev = NULL;
	state->hostIsFinished = true;
}
Example #2
0
/// @brief  Setup all timers tasksi and enable interrupts
///
/// @see clock_task()
/// @see: timer_hal.c for hardware dependent interface
//
/// @return  void
MEMSPACE
void init_timers()
{
    printf("Timers init called\n");

    if(!timers_configured)
    {
		install_timers_isr();
        timers_configured = 1;
        timers_enabled = 0;
        printf("Timers configured\n");
    }

    delete_all_timers();

    clock_clear();
    printf("Clock Init\n");

///  See time.c
    if(set_timers(clock_task,1) == -1)
        printf("Clock task init failed\n");
    printf("Clock Installed\n");

    enable_timers();

    printf("Timers enabled\n");
}