There's more fun. While SysV message queues can fill up because, well,
they're full (they have a bounded maximum size), they can also fill up
because *other* queues have filled up to the point where the system won't
allow any more messages into any queues. Most Unixes have ridiculously low
limits (64 messages or 64Kb across all queues is not unusual) so it is
utterly trivial to produce horrible deadlocks with this system.
(Of course they don't work with select(). That would be *useful*.)
(I would have used stronger language than `ick', too, but I didn't want to
get the bills for setting a thousand people's computers on fire.)