[Spice-devel] [PATCH spice-server v3 23/23] red-pipe-item: Use GLib memory functions
Frediano Ziglio
fziglio at redhat.com
Mon Sep 25 12:20:26 UTC 2017
Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
Acked-by: Jonathon Jongsma <jjongsma at redhat.com>
---
server/cache-item.tmpl.c | 6 +++---
server/dcc.c | 10 +++++-----
server/inputs-channel.c | 4 ++--
server/main-channel-client.c | 14 +++++++-------
server/red-channel-client.c | 8 ++++----
server/red-channel.c | 2 +-
server/red-pipe-item.c | 2 +-
server/smartcard-channel-client.c | 2 +-
server/spicevmc.c | 10 +++++-----
server/stream.c | 2 +-
10 files changed, 30 insertions(+), 30 deletions(-)
Changes since v2:
- moved some changes to spicevmc.c from another patch to this patch.
diff --git a/server/cache-item.tmpl.c b/server/cache-item.tmpl.c
index 19e6b95f1..44b45f812 100644
--- a/server/cache-item.tmpl.c
+++ b/server/cache-item.tmpl.c
@@ -86,7 +86,7 @@ static int FUNC_NAME(add)(CHANNELCLIENT *channel_client, uint64_t id, size_t siz
RedCacheItem *item;
int key;
- item = spice_new(RedCacheItem, 1);
+ item = g_new(RedCacheItem, 1);
channel_client->priv->VAR_NAME(available) -= size;
SPICE_VERIFY(SPICE_OFFSETOF(RedCacheItem, u.cache_data.lru_link) == 0);
@@ -94,7 +94,7 @@ static int FUNC_NAME(add)(CHANNELCLIENT *channel_client, uint64_t id, size_t siz
RedCacheItem *tail = (RedCacheItem *)ring_get_tail(&channel_client->priv->VAR_NAME(lru));
if (!tail) {
channel_client->priv->VAR_NAME(available) += size;
- free(item);
+ g_free(item);
return FALSE;
}
FUNC_NAME(remove)(channel_client, tail);
@@ -117,7 +117,7 @@ static void FUNC_NAME(reset)(CHANNELCLIENT *channel_client, long size)
while (channel_client->priv->CACHE_NAME[i]) {
RedCacheItem *item = channel_client->priv->CACHE_NAME[i];
channel_client->priv->CACHE_NAME[i] = item->u.cache_data.next;
- free(item);
+ g_free(item);
}
}
ring_init(&channel_client->priv->VAR_NAME(lru));
diff --git a/server/dcc.c b/server/dcc.c
index f3d53051c..90684e17c 100644
--- a/server/dcc.c
+++ b/server/dcc.c
@@ -194,7 +194,7 @@ static RedSurfaceCreateItem *red_surface_create_item_new(RedChannel* channel,
{
RedSurfaceCreateItem *create;
- create = spice_new(RedSurfaceCreateItem, 1);
+ create = g_new(RedSurfaceCreateItem, 1);
create->surface_create.surface_id = surface_id;
create->surface_create.width = width;
@@ -340,7 +340,7 @@ RedImageItem *dcc_add_surface_area_image(DisplayChannelClient *dcc,
bpp = SPICE_SURFACE_FMT_DEPTH(surface->context.format) / 8;
stride = width * bpp;
- item = (RedImageItem *)spice_malloc_n_m(height, stride, sizeof(RedImageItem));
+ item = (RedImageItem *)g_malloc(height * stride + sizeof(RedImageItem));
red_pipe_item_init(&item->base, RED_PIPE_ITEM_TYPE_IMAGE);
@@ -689,7 +689,7 @@ static RedSurfaceDestroyItem *red_surface_destroy_item_new(RedChannel *channel,
{
RedSurfaceDestroyItem *destroy;
- destroy = spice_new(RedSurfaceDestroyItem, 1);
+ destroy = g_new(RedSurfaceDestroyItem, 1);
destroy->surface_destroy.surface_id = surface_id;
red_pipe_item_init(&destroy->pipe_item, RED_PIPE_ITEM_TYPE_DESTROY_SURFACE);
@@ -708,7 +708,7 @@ RedPipeItem *dcc_gl_scanout_item_new(RedChannelClient *rcc, void *data, int num)
return NULL;
}
- item = spice_new(RedGlScanoutUnixItem, 1);
+ item = g_new(RedGlScanoutUnixItem, 1);
red_pipe_item_init(&item->base, RED_PIPE_ITEM_TYPE_GL_SCANOUT);
return &item->base;
@@ -728,7 +728,7 @@ RedPipeItem *dcc_gl_draw_item_new(RedChannelClient *rcc, void *data, int num)
}
dcc->priv->gl_draw_ongoing = TRUE;
- item = spice_new(RedGlDrawItem, 1);
+ item = g_new(RedGlDrawItem, 1);
item->draw = *draw;
red_pipe_item_init(&item->base, RED_PIPE_ITEM_TYPE_GL_DRAW);
diff --git a/server/inputs-channel.c b/server/inputs-channel.c
index b8944cb0f..96fd87399 100644
--- a/server/inputs-channel.c
+++ b/server/inputs-channel.c
@@ -196,7 +196,7 @@ static uint8_t kbd_get_leds(SpiceKbdInstance *sin)
static RedPipeItem *red_inputs_key_modifiers_item_new(uint8_t modifiers)
{
- RedKeyModifiersPipeItem *item = spice_malloc(sizeof(RedKeyModifiersPipeItem));
+ RedKeyModifiersPipeItem *item = g_new(RedKeyModifiersPipeItem, 1);
red_pipe_item_init(&item->base, RED_PIPE_ITEM_KEY_MODIFIERS);
item->modifiers = modifiers;
@@ -435,7 +435,7 @@ void inputs_release_keys(InputsChannel *inputs)
static void inputs_pipe_add_init(RedChannelClient *rcc)
{
- RedInputsInitPipeItem *item = spice_malloc(sizeof(RedInputsInitPipeItem));
+ RedInputsInitPipeItem *item = g_new(RedInputsInitPipeItem, 1);
InputsChannel *inputs = INPUTS_CHANNEL(red_channel_client_get_channel(rcc));
red_pipe_item_init(&item->base, RED_PIPE_ITEM_INPUTS_INIT);
diff --git a/server/main-channel-client.c b/server/main-channel-client.c
index b7b60eddb..bdcc1e825 100644
--- a/server/main-channel-client.c
+++ b/server/main-channel-client.c
@@ -274,7 +274,7 @@ void main_channel_client_start_net_test(MainChannelClient *mcc, int test_rate)
static RedPipeItem *red_ping_item_new(int size)
{
- RedPingPipeItem *item = spice_malloc(sizeof(RedPingPipeItem));
+ RedPingPipeItem *item = g_new(RedPingPipeItem, 1);
red_pipe_item_init(&item->base, RED_PIPE_ITEM_TYPE_MAIN_PING);
item->size = size;
@@ -295,7 +295,7 @@ static bool main_channel_client_push_ping(MainChannelClient *mcc, int size)
static RedPipeItem *main_agent_tokens_item_new(uint32_t num_tokens)
{
- RedTokensPipeItem *item = spice_malloc(sizeof(RedTokensPipeItem));
+ RedTokensPipeItem *item = g_new(RedTokensPipeItem, 1);
red_pipe_item_init(&item->base, RED_PIPE_ITEM_TYPE_MAIN_AGENT_TOKEN);
item->tokens = num_tokens;
@@ -348,7 +348,7 @@ static RedPipeItem *main_init_item_new(int connection_id,
int multi_media_time,
int ram_hint)
{
- RedInitPipeItem *item = spice_malloc(sizeof(RedInitPipeItem));
+ RedInitPipeItem *item = g_new(RedInitPipeItem, 1);
red_pipe_item_init(&item->base, RED_PIPE_ITEM_TYPE_MAIN_INIT);
item->connection_id = connection_id;
@@ -377,7 +377,7 @@ void main_channel_client_push_init(MainChannelClient *mcc,
static RedPipeItem *main_name_item_new(const char *name)
{
- RedNamePipeItem *item = spice_malloc(sizeof(RedNamePipeItem) + strlen(name) + 1);
+ RedNamePipeItem *item = g_malloc(sizeof(RedNamePipeItem) + strlen(name) + 1);
red_pipe_item_init(&item->base, RED_PIPE_ITEM_TYPE_MAIN_NAME);
item->msg.name_len = strlen(name) + 1;
@@ -400,7 +400,7 @@ void main_channel_client_push_name(MainChannelClient *mcc, const char *name)
static RedPipeItem *main_uuid_item_new(const uint8_t uuid[16])
{
- RedUuidPipeItem *item = spice_malloc(sizeof(RedUuidPipeItem));
+ RedUuidPipeItem *item = g_new(RedUuidPipeItem, 1);
red_pipe_item_init(&item->base, RED_PIPE_ITEM_TYPE_MAIN_UUID);
memcpy(item->msg.uuid, uuid, sizeof(item->msg.uuid));
@@ -428,7 +428,7 @@ void main_channel_client_push_notify(MainChannelClient *mcc, const char *msg)
RedPipeItem *main_mouse_mode_item_new(SpiceMouseMode current_mode, int is_client_mouse_allowed)
{
- RedMouseModePipeItem *item = spice_malloc(sizeof(RedMouseModePipeItem));
+ RedMouseModePipeItem *item = g_new(RedMouseModePipeItem, 1);
red_pipe_item_init(&item->base, RED_PIPE_ITEM_TYPE_MAIN_MOUSE_MODE);
item->current_mode = current_mode;
@@ -440,7 +440,7 @@ RedPipeItem *main_multi_media_time_item_new(uint32_t mm_time)
{
RedMultiMediaTimePipeItem *item;
- item = spice_malloc(sizeof(RedMultiMediaTimePipeItem));
+ item = g_new(RedMultiMediaTimePipeItem, 1);
red_pipe_item_init(&item->base, RED_PIPE_ITEM_TYPE_MAIN_MULTI_MEDIA_TIME);
item->time = mm_time;
return &item->base;
diff --git a/server/red-channel-client.c b/server/red-channel-client.c
index a8c6f33fd..ea6827cff 100644
--- a/server/red-channel-client.c
+++ b/server/red-channel-client.c
@@ -1608,7 +1608,7 @@ void red_channel_client_pipe_add_tail(RedChannelClient *rcc,
void red_channel_client_pipe_add_type(RedChannelClient *rcc, int pipe_item_type)
{
- RedPipeItem *item = spice_new(RedPipeItem, 1);
+ RedPipeItem *item = g_new(RedPipeItem, 1);
red_pipe_item_init(item, pipe_item_type);
red_channel_client_pipe_add(rcc, item);
@@ -1616,7 +1616,7 @@ void red_channel_client_pipe_add_type(RedChannelClient *rcc, int pipe_item_type)
RedPipeItem *red_channel_client_new_empty_msg(int msg_type)
{
- RedEmptyMsgPipeItem *item = spice_new(RedEmptyMsgPipeItem, 1);
+ RedEmptyMsgPipeItem *item = g_new(RedEmptyMsgPipeItem, 1);
red_pipe_item_init(&item->base, RED_PIPE_ITEM_TYPE_EMPTY_MSG);
item->msg = msg_type;
@@ -1765,7 +1765,7 @@ static void marker_pipe_item_free(RedPipeItem *base)
if (item->item_in_pipe) {
*item->item_in_pipe = FALSE;
}
- free(item);
+ g_free(item);
}
/* TODO: more evil sync stuff. anything with the word wait in it's name. */
@@ -1784,7 +1784,7 @@ bool red_channel_client_wait_pipe_item_sent(RedChannelClient *rcc,
end_time = UINT64_MAX;
}
- MarkerPipeItem *mark_item = spice_new0(MarkerPipeItem, 1);
+ MarkerPipeItem *mark_item = g_new0(MarkerPipeItem, 1);
red_pipe_item_init_full(&mark_item->base, RED_PIPE_ITEM_TYPE_MARKER,
marker_pipe_item_free);
diff --git a/server/red-channel.c b/server/red-channel.c
index b5094829e..9736c54b1 100644
--- a/server/red-channel.c
+++ b/server/red-channel.c
@@ -443,7 +443,7 @@ void red_channel_pipes_add(RedChannel *channel, RedPipeItem *item)
void red_channel_pipes_add_type(RedChannel *channel, int pipe_item_type)
{
- RedPipeItem *item = spice_new(RedPipeItem, 1);
+ RedPipeItem *item = g_new(RedPipeItem, 1);
red_pipe_item_init(item, pipe_item_type);
diff --git a/server/red-pipe-item.c b/server/red-pipe-item.c
index 2cb584731..821b5f961 100644
--- a/server/red-pipe-item.c
+++ b/server/red-pipe-item.c
@@ -44,7 +44,7 @@ void red_pipe_item_init_full(RedPipeItem *item,
{
item->type = type;
item->refcount = 1;
- item->free_func = free_func ? free_func : (red_pipe_item_free_t *)free;
+ item->free_func = free_func ? free_func : (red_pipe_item_free_t *)g_free;
}
void marshaller_unref_pipe_item(uint8_t *data G_GNUC_UNUSED, void *opaque)
diff --git a/server/smartcard-channel-client.c b/server/smartcard-channel-client.c
index 07d451f47..b1652e769 100644
--- a/server/smartcard-channel-client.c
+++ b/server/smartcard-channel-client.c
@@ -215,7 +215,7 @@ static void smartcard_channel_client_push_error(RedChannelClient *rcc,
uint32_t reader_id,
VSCErrorCode error)
{
- RedErrorItem *error_item = spice_new0(RedErrorItem, 1);
+ RedErrorItem *error_item = g_new0(RedErrorItem, 1);
red_pipe_item_init(&error_item->base, RED_PIPE_ITEM_TYPE_ERROR);
diff --git a/server/spicevmc.c b/server/spicevmc.c
index f56f50eda..45036c470 100644
--- a/server/spicevmc.c
+++ b/server/spicevmc.c
@@ -351,7 +351,7 @@ static RedVmcPipeItem* try_compress_lz4(RedVmcChannel *channel, int n, RedVmcPip
/* Client doesn't have compression cap - data will not be compressed */
return NULL;
}
- msg_item_compressed = spice_new0(RedVmcPipeItem, 1);
+ msg_item_compressed = g_new0(RedVmcPipeItem, 1);
red_pipe_item_init(&msg_item_compressed->base, RED_PIPE_ITEM_TYPE_SPICEVMC_DATA);
compressed_data_count = LZ4_compress_default((char*)&msg_item->buf,
(char*)&msg_item_compressed->buf,
@@ -364,12 +364,12 @@ static RedVmcPipeItem* try_compress_lz4(RedVmcChannel *channel, int n, RedVmcPip
msg_item_compressed->type = SPICE_DATA_COMPRESSION_TYPE_LZ4;
msg_item_compressed->uncompressed_data_size = n;
msg_item_compressed->buf_used = compressed_data_count;
- free(msg_item);
+ g_free(msg_item);
return msg_item_compressed;
}
/* LZ4 compression failed or did non compress, fallback a non-compressed data is to be sent */
- free(msg_item_compressed);
+ g_free(msg_item_compressed);
return NULL;
}
#endif
@@ -390,7 +390,7 @@ static RedPipeItem *spicevmc_chardev_read_msg_from_dev(RedCharDevice *self,
}
if (!channel->pipe_item) {
- msg_item = spice_new0(RedVmcPipeItem, 1);
+ msg_item = g_new0(RedVmcPipeItem, 1);
msg_item->type = SPICE_DATA_COMPRESSION_TYPE_NONE;
red_pipe_item_init(&msg_item->base, RED_PIPE_ITEM_TYPE_SPICEVMC_DATA);
} else {
@@ -455,7 +455,7 @@ static void spicevmc_port_send_init(RedChannelClient *rcc)
static void spicevmc_port_send_event(RedChannelClient *rcc, uint8_t event)
{
- RedPortEventPipeItem *item = spice_new(RedPortEventPipeItem, 1);
+ RedPortEventPipeItem *item = g_new(RedPortEventPipeItem, 1);
red_pipe_item_init(&item->base, RED_PIPE_ITEM_TYPE_PORT_EVENT);
item->event = event;
diff --git a/server/stream.c b/server/stream.c
index c2e82c567..846c921a7 100644
--- a/server/stream.c
+++ b/server/stream.c
@@ -741,7 +741,7 @@ void dcc_create_stream(DisplayChannelClient *dcc, Stream *stream)
red_channel_client_pipe_add(RED_CHANNEL_CLIENT(dcc), stream_create_item_new(agent));
if (red_channel_client_test_remote_cap(RED_CHANNEL_CLIENT(dcc), SPICE_DISPLAY_CAP_STREAM_REPORT)) {
- RedStreamActivateReportItem *report_pipe_item = spice_malloc0(sizeof(*report_pipe_item));
+ RedStreamActivateReportItem *report_pipe_item = g_new0(RedStreamActivateReportItem, 1);
agent->report_id = rand();
red_pipe_item_init(&report_pipe_item->pipe_item,
--
2.13.5
More information about the Spice-devel
mailing list