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; }
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; }
void webapp_chat_close(void) { message_close(); mem_deref(messages); }
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; }