Пример #1
0
void freerdp_channels_free(rdpChannels* channels)
{
	rdpChannelsList* list;
	rdpChannelsList* prev;

	MessagePipe_Free(channels->MsgPipe);

	/* Remove from global list */

	WaitForSingleObject(g_mutex_list, INFINITE);

	for (prev = NULL, list = g_channels_list; list; prev = list, list = list->next)
	{
		if (list->channels == channels)
			break;
	}

	if (list)
	{
		if (prev)
			prev->next = list->next;
		else
			g_channels_list = list->next;
		free(list);
	}

	ReleaseMutex(g_mutex_list);

	free(channels);
}
Пример #2
0
void freerdp_channels_free(rdpChannels* channels)
{
	MessagePipe_Free(channels->MsgPipe);

	/* TODO: remove from channels list */

	free(channels);
}
Пример #3
0
void freerdp_channels_free(rdpChannels* channels)
{
	MessagePipe_Free(channels->MsgPipe);

	ArrayList_Lock(g_ChannelsList);
	ArrayList_Remove(g_ChannelsList, channels);
	ArrayList_Unlock(g_ChannelsList);

	free(channels);
}
Пример #4
0
static void remdesk_virtual_channel_event_terminated(remdeskPlugin* remdesk)
{
	MessagePipe_PostQuit(remdesk->MsgPipe, 0);
	WaitForSingleObject(remdesk->thread, INFINITE);

	MessagePipe_Free(remdesk->MsgPipe);
	CloseHandle(remdesk->thread);

	remdesk->channelEntryPoints.pVirtualChannelClose(remdesk->OpenHandle);

	if (remdesk->data_in)
	{
		Stream_Free(remdesk->data_in, TRUE);
		remdesk->data_in = NULL;
	}

	remdesk_remove_open_handle_data(remdesk->OpenHandle);
	remdesk_remove_init_handle_data(remdesk->InitHandle);
}
Пример #5
0
static void svc_plugin_process_terminated(rdpSvcPlugin* plugin)
{
	MessagePipe_PostQuit(plugin->MsgPipe, 0);
	WaitForSingleObject(plugin->thread, INFINITE);

	MessagePipe_Free(plugin->MsgPipe);
	CloseHandle(plugin->thread);

	plugin->channel_entry_points.pVirtualChannelClose(plugin->open_handle);

	svc_plugin_remove(plugin);

	if (plugin->data_in)
	{
		stream_free(plugin->data_in);
		plugin->data_in = NULL;
	}

	IFCALL(plugin->terminate_callback, plugin);
}
Пример #6
0
void freerdp_channels_free(rdpChannels* channels)
{
    MessagePipe_Free(channels->MsgPipe);

    free(channels);
}