Re: EPIPE

2000-05-13 Thread Michael Natterer

Raphael Quinet wrote:
 
 On Thu, 11 May 2000, Michael Natterer [EMAIL PROTECTED] wrote:
 
  We don't use SA_NODEFER any more. And AFAIK the delivery of SIGCHLD has
  nothing to do with cleaning up zombies. This is why we loop around
  waitpid() because POSIX explicitly says that signals arriving close
  together may be merged by the kernel.
 
 The delivery of SIGCHLD does not clean up the zombies: this is done by
 calling waitpid() or any wait*() function.  But the call to waitpid()
 will be triggered by a SIGCHLD, and there is a potential race
 condition.  I will try to explain this in a slightly different way:
 regardless of the setting of SA_NODEFER, you cannot ensure that you
 will get one SIGCHLD for every dead process.  Some kernels merge the
 signals that arrive close together, and some of them mask the signal
 while the corresponding handler is being called (some systems will
 re-deliver the masked signal immediately after the handler returns,
 but this is not always the case).

Yeah, my confusing sentence above :) wanted to say: The # of SIGCHLD
arriving doesn't have to correspond with the # of zombies we have to
clean up. Of course just catching SIGCHLD doesn't touch the zombies
at all.

 Now, consider the following scenario for a race condition:
   * The Gimp starts two plug-ins
   * plug-in 1 dies
   * SIGCHLD delivered, handler called
   * inside the signal handler:
   * - waitpid() returns the status of the first process
   * - waitpid() returns 0 and the while() loop ends
   * plug-in 2 dies (before the signal handler returns)
   * SIGCHLD cannot be delivered
   * - the signal handler returns
   * The Gimp continues and the status of second plug-in is never
 collected, so this creates a zombie.
 Although it is rather unlikely that a context switch happens in the
 signal handler just after the while() loop and before returning, it
 can and will happen.
 
 If you are sure that all kernels of the systems that Gimp supports
 will re-deliver the second SIGCHLD signal immediately after the signal
 handler returns, then there is no problem in the scenario described
 above: the handler will be called a second time and will collect the
 status of the second plug-in.  But I do not think so; that's why I
 suggested to call waitpid() outside the signal handler, because then
 you avoid the race condition.

Hm. I don't think that this is really a problem. The scenario above is,
as you say unlikely but will definitely happen. But _if_ it happens
we just have a stale zombie hanging around which should be cleaned up
the next time the handler is called.

   Yes...  I wrote a few months ago that I would change that and implement
   some kind of --enable-stack-trace option, but I never took the time to
   do it.
 
  Now it's there :) We just have to convert the remaining g_print() to write()
  and the handler will be totally safe if enable_stack_trace == FALSE.
 
 Hmmm...  I don't know how you have implemented it (I cannot look at
 the CVS code), but I was thinking of having more options for
 --enable-stack-trace, both for the configure option and for the
 command-line option:
 - "never": disable the stack trace and use the default signal handlers
 - "query": ask the user, as we are doing now.
 - "always": always call the debugger without asking any question (useful
   if stdin does not work, but stdout is still OK)
 - "wait": always wait 30 seconds, without asking any question (this does
   not use stdin or stdout and gives some time to the user if she
   wants to attach a debugger to the process)
 If the code is compiled or run with the "never" option, then the
 signal handlers would never be installed.  The configure option would
 set the default value for this flag, but it would always be possible
 to override it with the command-line option without recompiling.  The
 default for the code in CVS and for the unstable tarballs should be
 "query", and the default for the stable releases could be "never" or
 "wait".

Wow, this is a bit more than what I was thinking about. I think this
would be really useful. Still willing to hack it if comeone kicks you ?-)
Ok, kick, kick, kick...

  We should probably re-add the reentrancy guards in the fatal handlers and
  just do a brute force exit() if it's called recursively (which can only
  happen during the stack trace because that's the only case where the signals
  are unblocked in the handler).
 
 Another option would be to set the signals to SIG_DFL as soon as the
 fatal handler is called.  Since the default behavior for these signals
 is to kill the program, this would prevent the endless loop without
 requiring a special flag.

Yep, this sounds more useful than the current state (which just unblocks
the signals in the handler if the trace is called and causes the loop
if another signal arrives during and probably because of the trace).

 On Fri, 12 May 2000, Michael Natterer [EMAIL PROTECTED] wrote:
 [...]
  So ignoring SIGPIPE in the 

List rules (Re: Negligencias medicas)

2000-05-13 Thread Guillermo S. Romero / Familia Romero

Hmmm... Sounds like spam to me.

Cos it is. I though that only suscribed guys could post. If anybody can
post, it should be fixed now. I think that is most of readers would like.

The main problem is that the address seems to be a valid one (not random
numbers or other garbage), so maybe he is suscribed.

GSR
 




Re: Negligencias medicas

2000-05-13 Thread Steinar H. Gunderson

On Sat, May 13, 2000 at 09:21:59AM +0200, Pedro Arbiol Camps wrote:
Todo lo que necesita saber para concienciarse de la Sanidad y sus carencias.
No dude en aportar sus conocimientos, comentarios, dudas o experiencias a
NEGLIGENCIAS.COM - EL BUSCADOR

Could you please repeat that in English? Babelfish gives me:

   Everything what needs to know for concienciar of the Health and its deficiencies. 
It does
   not doubt in contributing its knowledge, commentaries, doubts or experiences to
   NEGLIGENCIAS.COM - the FINDER

Hmmm... Sounds like spam to me.

/* Steinar */
-- 
Homepage: http://members.xoom.com/sneeze/



Re: List rules (Re: Negligencias medicas)

2000-05-13 Thread Nick Lamb

Guillermo S. Romero / Familia Romero wrote:
 Cos it is. I though that only suscribed guys could post. If anybody can
 post, it should be fixed now. I think that is most of readers would like.

I like the idea of semi-moderated (non subscribers are moderated) lists
but I don't have time to volunteer, so if no-one else likes that idea
or XCF can't provide it, put me down for "subscribers only" too.

Nick.



Translation Status Report

2000-05-13 Thread Sven Neumann

Hi, 

while the signal crew is trying to bring the pieces together again,
GIMP is getting closer to its 1.2 release. Since we'd like to ship 
with a set of well supported languages, it's time again for a
translation status report. There's still lots of work pending here.
Please help the translators to finish their task...

For a more colorful version of this status report, check out
http://sven.gimp.org/1.1/i18n.html


# Translation Status Report for gimp
# generated Sat May 13 13:09:50 CEST 2000
#

gimp.pot  (1358 messages)

ca 935 translated,  328 fuzzy,   95 untranslated.
cs1358 translated.
da1334 translated,   20 fuzzy,4 untranslated.
de1358 translated.
en_GB   92 translated,   15 fuzzy, 1251 untranslated.
es1232 translated,   79 fuzzy,   47 untranslated.
fi1290 translated,   20 fuzzy,   48 untranslated.
fr1311 translated,   37 fuzzy,   10 untranslated.
hu 346 translated,  602 fuzzy,  410 untranslated.
it1313 translated,   36 fuzzy,9 untranslated.
ja1333 translated,   20 fuzzy,5 untranslated.
ko1071 translated,  218 fuzzy,   69 untranslated.
nl 788 translated,   31 fuzzy,  539 untranslated.
no1357 translated,1 untranslated.
pl1040 translated,   28 fuzzy,  290 untranslated.
ru1323 translated,   20 fuzzy,   15 untranslated.
sk1108 translated,  179 fuzzy,   71 untranslated.
sv1358 translated.
uk1327 translated,   20 fuzzy,   11 untranslated.


gimp-libgimp.pot  (48 messages)

ca   1 translated,1 fuzzy,   47 untranslated.
cs  48 translated.
da  48 translated.
de  48 translated.
en_GB8 translated,   40 untranslated.
es  48 translated.
fi  47 translated,1 untranslated.
fr  48 translated.
hu   3 translated,   25 fuzzy,   20 untranslated.
it  48 translated.
ja  48 translated.
ko  24 translated,   13 fuzzy,   11 untranslated.
nl  48 translated.
no  48 translated.
pl  48 translated,1 fuzzy.
ru  48 translated.
sk  22 translated,   15 fuzzy,   11 untranslated.
sv  24 translated,   15 fuzzy,9 untranslated.
uk  48 translated.


gimp-std-plugins.pot  (2775 messages)

ca   1 translated,1 fuzzy, 2774 untranslated.
cs2775 translated.
da1499 translated, 1261 fuzzy,   15 untranslated.
de2767 translated,8 untranslated.
en_GB  142 translated,   64 fuzzy, 2569 untranslated.
es 179 translated,   89 fuzzy, 2507 untranslated.
fi 184 translated,6 fuzzy, 2585 untranslated.
fr2659 translated,   88 fuzzy,   28 untranslated.
hu   1 translated,1 fuzzy, 2774 untranslated.
it1413 translated,  700 fuzzy,  662 untranslated.
ja2246 translated,   80 fuzzy,  449 untranslated.
ko 748 translated, 1254 fuzzy,  773 untranslated.
nl   1 translated,1 fuzzy, 2774 untranslated.
no1174 translated,  607 fuzzy,  994 untranslated.
pl 296 translated, 1245 fuzzy, 1234 untranslated.
ru2658 translated,   27 fuzzy,   90 untranslated.
sk   1 translated,1 fuzzy, 2774 untranslated.
sv  59 translated,  244 fuzzy, 2472 untranslated.
uk 754 translated,   16 fuzzy, 2005 untranslated.


gimp-perl.pot  (298 messages)

cs 298 translated.
da 138 translated,  158 fuzzy,2 untranslated.
de 293 translated,3 fuzzy,2 untranslated.
fr  64 translated,   19 fuzzy,  215 untranslated.
it 291 translated,6 fuzzy,1 untranslated.
ja  49 translated,4 fuzzy,  245 untranslated.
no 295 translated,3 fuzzy.
ru 176 translated,4 fuzzy,  118 untranslated.
uk 163 translated,4 fuzzy,  131 untranslated.


gimp-script-fu.pot  (423 messages)

ca   1 translated,1 fuzzy,  422 untranslated.
cs 423 translated.
da 419 translated,2 fuzzy,2 untranslated.
de 423 translated.
en_GB1 translated,1 fuzzy,  422 untranslated.
es  14 translated,  145 fuzzy,  264 untranslated.
fi   3 translated,1 fuzzy,  420 untranslated.
fr  35 translated,   89 fuzzy,  299 untranslated.
hu   1 translated,  422 untranslated.
it 134 translated,6 fuzzy,  283 untranslated.
ja 134 translated,   26 fuzzy,  263 untranslated.
ko  21 translated,  100 fuzzy,  303 untranslated.
nl   1 translated,  422 untranslated.
no 128 translated,  134 fuzzy,  161 untranslated.
pl  13 translated,  102 fuzzy,  309 untranslated.
ru 411 translated,2 fuzzy,   10 untranslated.
sk   1 translated,  422 untranslated.
sv   3 translated,8 fuzzy,  413 untranslated.
uk  81 translated,   66 fuzzy,  276 untranslated.






GIMP Developers Conference

2000-05-13 Thread Sven Neumann

Hi,

We are proud to be able to announce the first official 
GIMP Developers Conference which will take place 
June 2nd - 4th 2000 in Berlin.

The goal of this conference is to bring together GIMP
developers to chart the features of the next generation 
GIMP. There are lots of decisions to be made and we 
hope that this meeting will help us to design the 
framework for Gimp-2.0. 

The meeting will take place in the rooms of the CCC
(Chaos Communication Club) in Berlin. While we can 
have those rooms for free, there is only limited space. 
Therefore, if you want to come to the conference, 
please email us at [EMAIL PROTECTED] so we have an idea 
about the number of people interested in joining us. 
Eventually we'll have to close the list at some point.

More info will soon become available at

http://www.gimp.org/gimpcon/ 

In the meantime you can peek at the preview of the 
conference homepage: http://sven.gimp.org/gimpcon/  


Salut, Sven