summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorAlon Levy <alevy@redhat.com>2011-11-06 16:09:35 +0200
committerAlon Levy <alevy@redhat.com>2011-11-07 10:29:32 +0200
commitaf77bb577d21215167d388f908584d797cc3c303 (patch)
tree1de9f4a330d6b219404cf77a8627dd94110994c8 /server
parentd5274eeef63872e6b3e0f4db6e1b2dbfcdf5580f (diff)
downloadspice-af77bb577d21215167d388f908584d797cc3c303.tar.gz
spice-af77bb577d21215167d388f908584d797cc3c303.tar.xz
spice-af77bb577d21215167d388f908584d797cc3c303.zip
server: add prefix argument to red_printf_debug
printed before function name. No central location for prefixes. Adding "WORKER", "ASYNC", "MAIN" since those were the current users.
Diffstat (limited to 'server')
-rw-r--r--server/main_channel.c2
-rw-r--r--server/red_dispatcher.c17
-rw-r--r--server/red_worker.c18
3 files changed, 23 insertions, 14 deletions
diff --git a/server/main_channel.c b/server/main_channel.c
index b2439b29..24cdaeaf 100644
--- a/server/main_channel.c
+++ b/server/main_channel.c
@@ -695,7 +695,7 @@ static void main_channel_release_pipe_item(RedChannelClient *rcc,
case SPICE_MSG_MAIN_AGENT_DATA: {
AgentDataPipeItem *data = (AgentDataPipeItem*)base;
if (!--data->refs->refs) {
- red_printf_debug(1, "SPICE_MSG_MAIN_AGENT_DATA %p %p, %d",
+ red_printf_debug(1, "MAIN", "SPICE_MSG_MAIN_AGENT_DATA %p %p, %d",
data, data->refs, data->refs->refs);
free(data->refs);
data->free_data(data->data, data->opaque);
diff --git a/server/red_dispatcher.c b/server/red_dispatcher.c
index c3cfa904..5257e6b4 100644
--- a/server/red_dispatcher.c
+++ b/server/red_dispatcher.c
@@ -44,6 +44,11 @@ static int num_active_workers = 0;
//volatile
+#define DBG_ASYNC(s, ...) \
+ do { \
+ red_printf_debug(2, "ASYNC", s, ##__VA_ARGS__); \
+ } while (0);
+
struct AsyncCommand {
RingItem link;
RedWorkerMessage message;
@@ -281,6 +286,7 @@ static AsyncCommand *async_command_alloc(RedDispatcher *dispatcher,
async_command->message = message;
ring_add(&dispatcher->async_commands, &async_command->link);
pthread_mutex_unlock(&dispatcher->async_lock);
+ DBG_ASYNC("%p", async_command);
return async_command;
}
@@ -385,7 +391,7 @@ red_dispatcher_destroy_primary_surface(RedDispatcher *dispatcher,
uint32_t surface_id, int async, uint64_t cookie)
{
RedWorkerMessage message;
- AsyncCommand *cmd;
+ AsyncCommand *cmd = NULL;
if (async) {
message = RED_WORKER_MESSAGE_DESTROY_PRIMARY_SURFACE_ASYNC;
@@ -429,7 +435,7 @@ red_dispatcher_create_primary_surface(RedDispatcher *dispatcher, uint32_t surfac
QXLDevSurfaceCreate *surface, int async, uint64_t cookie)
{
RedWorkerMessage message;
- AsyncCommand *cmd;
+ AsyncCommand *cmd = NULL;
if (async) {
message = RED_WORKER_MESSAGE_CREATE_PRIMARY_SURFACE_ASYNC;
@@ -490,7 +496,7 @@ static void red_dispatcher_destroy_surface_wait(RedDispatcher *dispatcher, uint3
int async, uint64_t cookie)
{
RedWorkerMessage message;
- AsyncCommand *cmd;
+ AsyncCommand *cmd = NULL;
if (async ) {
message = RED_WORKER_MESSAGE_DESTROY_SURFACE_WAIT_ASYNC;
@@ -835,9 +841,9 @@ void red_dispatcher_async_complete(struct RedDispatcher *dispatcher,
{
pthread_mutex_lock(&dispatcher->async_lock);
ring_remove(&async_command->link);
- red_printf_debug(2, "%p: cookie %" PRId64, async_command, async_command->cookie);
+ DBG_ASYNC("%p: cookie %" PRId64, async_command, async_command->cookie);
if (ring_is_empty(&dispatcher->async_commands)) {
- red_printf_debug(2, "%s: no more async commands", __func__);
+ red_printf_debug(2, "ASYNC", "no more async commands");
}
pthread_mutex_unlock(&dispatcher->async_lock);
switch (async_command->message) {
@@ -918,6 +924,7 @@ RedDispatcher *red_dispatcher_init(QXLInstance *qxl)
dispatcher = spice_new0(RedDispatcher, 1);
dispatcher->channel = channels[0];
ring_init(&dispatcher->async_commands);
+ DBG_ASYNC("dispatcher->async_commands.next %p", dispatcher->async_commands.next);
init_data.qxl = dispatcher->qxl = qxl;
init_data.id = qxl->id;
init_data.channel = channels[1];
diff --git a/server/red_worker.c b/server/red_worker.c
index a5c2df33..de8a8202 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -4778,9 +4778,9 @@ static void red_free_some(RedWorker *worker)
DisplayChannelClient *dcc;
RingItem *item;
- red_printf_debug(3, "#draw=%d, #red_draw=%d, #glz_draw=%d", worker->drawable_count,
- worker->red_drawable_count,
- worker->glz_drawable_count);
+ red_printf_debug(3, "WORKER",
+ "#draw=%d, #red_draw=%d, #glz_draw=%d", worker->drawable_count,
+ worker->red_drawable_count, worker->glz_drawable_count);
WORKER_FOREACH_DCC(worker, item, dcc) {
GlzSharedDictionary *glz_dict = dcc ? dcc->glz_dict : NULL;
@@ -8651,9 +8651,9 @@ static void display_channel_client_on_disconnect(RedChannelClient *rcc)
if (!red_channel_is_connected(rcc->channel)) {
red_display_destroy_compress_bufs(display_channel);
}
- red_printf_debug(3, "#draw=%d, #red_draw=%d, #glz_draw=%d", worker->drawable_count,
- worker->red_drawable_count,
- worker->glz_drawable_count);
+ red_printf_debug(3, "WORKER", "#draw=%d, #red_draw=%d, #glz_draw=%d",
+ worker->drawable_count, worker->red_drawable_count,
+ worker->glz_drawable_count);
}
void red_disconnect_all_display_TODO_remove_me(RedChannel *channel)
@@ -10433,7 +10433,8 @@ static void handle_dev_input(EventListener *listener, uint32_t events)
case RED_WORKER_MESSAGE_OOM:
ASSERT(worker->running);
// streams? but without streams also leak
- red_printf_debug(1, "OOM1 #draw=%u, #red_draw=%u, #glz_draw=%u current %u pipes %u",
+ red_printf_debug(1, "WORKER",
+ "OOM1 #draw=%u, #red_draw=%u, #glz_draw=%u current %u pipes %u",
worker->drawable_count,
worker->red_drawable_count,
worker->glz_drawable_count,
@@ -10447,7 +10448,8 @@ static void handle_dev_input(EventListener *listener, uint32_t events)
red_free_some(worker);
worker->qxl->st->qif->flush_resources(worker->qxl);
}
- red_printf_debug(1, "OOM2 #draw=%u, #red_draw=%u, #glz_draw=%u current %u pipes %u",
+ red_printf_debug(1, "WORKER",
+ "OOM2 #draw=%u, #red_draw=%u, #glz_draw=%u current %u pipes %u",
worker->drawable_count,
worker->red_drawable_count,
worker->glz_drawable_count,