[Vortex] Two problems

Philip Kovacs kovacsp3 at comcast.net
Tue Jun 13 01:00:09 CEST 2006


The first problem is in vortex_thread_pool.c:

void vortex_thread_pool_exit ()
{
        g_log (LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "stopping thread pool..");

        g_thread_pool_free (__vortex_thread_pool,
                            TRUE, /* not immediatly */            <--- 
FALSE
                            TRUE); /* wait until all threads are ready */

        g_log (LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "thread pool is stopped..");
        return;
}

You should use FALSE for not immediately, not TRUE.

The second problem has to do with the interaction of your glib logging 
code with mine.

As soon as vortex_init() runs, my g_message/g_warning/g_critical/g_error 
messages stop working.
Try compiling this program hello.c:

#include <vortex.h>
int main()
{
    vortex_init();
    g_message ("hello message");
    g_warning ("hello warning");
    g_critical ("hello critical");
    g_assert (1==2);
    vortex_exit();
}

gcc `pkg-config --cflags --libs vortex` -I/usr/include/vortex -o hello 
hello.c

No messages are displayed at all, just 'Aborted' when it hits the 
assert.   

This is a problem.   Vortex should not take control of the glib logging 
system in the manner.

Phil



More information about the Vortex mailing list