plug_in_flush mysterious warning
On 7/16/07, Sven Neumann wrote:
On Fri, 2007-07-13 at 14:50 +0300, Aurimas Juška wrote:
While testing my plug-in I noticed, that after quiting the plug-in The
Gimp *usually* (but sometimes not, not depending on what you do)
prints something like that: plug_in_flush(): broken pipe. It seems The
Gimp wants to communicate with the plug-in after it's process has
terminated. I added g_usleep () right before quiting in order to give
The Gimp some time to finish some work. The warning doesn't appear any
more.
Is it a bug or something?
Do other plug-ins show the same behavior for you? This sounds like a bug
in your plug-in. Is there perhaps an idle handler or a timeout still
running?
Yes, it's proly a bug in my plug-in, but not an easy to find, though.
Timeout handler was running, but it shouldn't be calling anything
gimp_*. I made it to quit after processing, but nothing has changed.
Debugging has showed, that The Gimp receives G_IO_HUP (broken pipe).
After that wants to kill plug-in, on the way sending it a quit message
through the same broken pipe (that's where the warning comes from).
What could cause a pipe to broken if plug-in doesn't crash?
Test case can be http://registry.gimp.org/plugin?id=8799 .
That's quite a lot of code for a test case which makes it hard to say
whether it's a problem in libgimp or in your code.
It's hard to expect that someone could find time for that. But if
someone decides to check, this would envolve commenting g_usleep() in
src/webx_main.c to reproduce.