On Fri, 17 May 2002, Rob Mueller (fastmail) wrote:
> Just a little note about this patch. This part:
> 
> +    /* Did we find it? */
> +    if (!c || c->pid != msg->service_pid) {
> + syslog(LOG_ERR, "can't find pid %d to process message %d",
> +   msg->service_pid, msg->message);
> + return;
> 
> We found that this actually occured quite-regularly, especially on a dual
> proc machine. It seems that the child can be reaped by the master before the
> master receives the message from the child. So I don't know if it should be
> logged as an error, or just ignored...

I will instead fix the master code so that it either makes such things
impossible, or knows how to deal with them.  I should have a patch ready
soon.

The problem is that master handles the signals first, and the messages
later... and the protocol expects messages first, signals last :)

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh

Reply via email to