コード例 #1
0
ファイル: gtk_mod.c プロジェクト: AlexMarlo/baresip
static int module_close(void)
{
	cmd_unregister(cmdv);
	if (mod_obj.run) {
		gdk_threads_enter();
		gtk_main_quit();
		gdk_threads_leave();
	}
	pthread_join(mod_obj.thread, NULL);
	mem_deref(mod_obj.mq);
	aufilt_unregister(&vumeter);
	message_close();

#ifdef USE_LIBNOTIFY
	if (notify_is_initted())
		notify_uninit();
#endif

	g_slist_free(mod_obj.accounts_menu_group);
	g_slist_free(mod_obj.call_windows);
	g_slist_free(mod_obj.incoming_call_menus);

	uag_event_unregister(ua_event_handler);

	return 0;
}
コード例 #2
0
ファイル: sd_close.c プロジェクト: priyancka/caps
sd_close()
{
  if (msgtask)
  {
    if (sd_server) 
    {
      if (sd_width != 80) sd_screen_80();
      message_put(sd_server, TTYServerCloseEvent, 0, 0);
    }
    message_close();
  }
  sd_server = 0;                          /* mark as closed                  */

  return 0;
}
コード例 #3
0
ファイル: chat.c プロジェクト: Studio-Link-v2/backend
void webapp_chat_close(void)
{
	message_close();
	mem_deref(messages);
}
コード例 #4
0
ファイル: server.c プロジェクト: hannesmuehleisen/mapipbtest
int main(void) {
	// read data (this is outside time measurements, since the data comes from anywhere and is assumed in (virtual) memory)
	Mapipbtest__QueryResult query_result;
	create_result_from_csv(&query_result, DATA_FILE, DATA_COLS, DATA_ROWS,
			DATA_TYPES, 1);

	struct snappy_env se;
	snappy_init_env(&se);

	// react on queries
	void *context = zmq_ctx_new();
	void *socket = zmq_socket(context, ZMQ_REP);
	int rc;
	rc = zmq_bind(socket, SERVER_SOCKET);
	if (rc != 0) {
		fprintf(stderr, "Failed to bind to socket %s\n", SERVER_SOCKET);
		perror("Socket error ");
		return -1;
	}

	long s_time, c_time, req_time;
	struct timeval start, req_start;

	while (1) {
		gettimeofday(&req_start, NULL );
		// receive request
		message query_msg;
		message_receive(socket, &query_msg);
		size_t query_msg_size = message_size(&query_msg);
		void * query_msg_data = message_data(&query_msg);
		if (COMPRESS) {
			query_msg_data = message_uncompress(query_msg_data,
					&query_msg_size);
		}
		Mapipbtest__ExecuteQuery * request = mapipbtest__execute_query__unpack(
				NULL, query_msg_size, query_msg_data);
		message_close(&query_msg);
		if (COMPRESS) {
			free(query_msg_data);
		}
		//printf("%s\n", request->sqlquery);
		//mapipbtest__execute_query__free_unpacked(request, NULL );

		// send response
		gettimeofday(&start, NULL );
		size_t query_response_msg_size =
				mapipbtest__query_result__get_packed_size(&query_result);
		void * query_response_msg_data = malloc(query_response_msg_size);
		mapipbtest__query_result__pack(&query_result, query_response_msg_data);

		s_time = end_timer_ms(&start);
		gettimeofday(&start, NULL );
		char * free_ptr;
		if (COMPRESS) {
			free_ptr = query_response_msg_data;
			query_response_msg_data = message_compress(&se,
					query_response_msg_data, &query_response_msg_size);
		}
		c_time = end_timer_ms(&start);

		message_send(socket, query_response_msg_data, query_response_msg_size);
		//free(query_response_msg_data);
		req_time = end_timer_ms(&req_start);

		//free(query_response_msg_data);
		if (COMPRESS) {
			free(free_ptr);
		}

	}
	zmq_close(socket);
	zmq_ctx_destroy(context);
	return 0;
}