>>>>> "Sasha" == Sasha Pachev <sasha@stripped> writes:
>> The problem is that we need to send a signal to be able to break the
>> select() loop; I can't see how adding a new command would not solve
Sasha> For the broken platforms, we could have select time out periodically, and
Sasha> then check for the flag. There might be even a "cleaner" way in this case -
Sasha> cause some activity on the socket, eg just closing it.
Doesn't work; Some platforms dumps a core at that point.
>> I am also not sure this is a problem with thread signal delivery;
>> There is just so many things that can go wrong when doing the shutdown
>> (I know this from experience from the current code) that we need a lot
>> more information to be able to pinpoint the problem.
Sasha> I am quite sure it is, as far as I can remember - I've tried to debug it at
Sasha> one time. One thing I remeber for sure is that you could connect after
Sasha> sending MySQL SIGTERM, and the system was acting as if nothing happened. If
Sasha> the signal had actually been received, we would have executed kill_server and
Sasha> even if the shutdown could not complete, we would not have been able to run
Sasha> So it looks like the problem is that the thread library blocks all the
Sasha> signals. Of course, the answer will come when we look at the code.
Anyway, Apple is hopefully going to fix this bug soon, so lets just
wait a while; We have got some connections to Apple so we should be
able to get them to look at this...