Re: Using fork() in a GTK C/Vala application



On Tue, 1 Sep 2015 15:33:19 +0200
rastersoft <raster rastersoft com> wrote:
Thanks for your answer. Unfortunately, I'm running out of options:
currently I'm using threads, but there is a nasty bug that makes my
program crash sometimes. It is very subtle, because it hapens usually
after being running for two-three days. It is a double free. I tried
with Valgrind, but when I use it, the error doesn't trigger, which
makes me suspect it is a race condition between both threads
(valgrind ensures that only one thread runs each time). I checked all
the code, and isolated everything as much as I could, and adding as
many locks as I could imagine, trying to remove that bug, but its
imposible, so I decided to separate the code in two independent
processes to be able to use valgrind and finally find what is
happening. But as you say, it seems I'll have to do something else...

Can you fork() before you launch any new threads or call any gio/gtk+
functions, and then perhaps communicate using pipes?  That should be
safe.

Chris


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]