Samuel Thibault, le Sat 05 Aug 2006 02:27:35 +0200, a écrit :
>   assert (! __spin_lock_locked (&ss->critical_section_lock));
>   __spin_lock (&ss->critical_section_lock);
> 
> Why should one check that a spinlock is free before taking it?? Here the
> purpose is to cancel _another_ thread, so it _can_ happen that the lock
> be taken any time...
> 
> Shouldn't at least these assertion just be dropped?

Maybe not the ones from other files, which are not trivial, but at least
this one (thread-cancel), which was reported to actually happen, and
which to my mind is really arguable.

Samuel


_______________________________________________
Bug-hurd mailing list
Bug-hurd@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-hurd

Reply via email to