[haiku-commits] r41916 - haiku/branches/developer/bonefish/signals/src/system/kernel

  • From: ingo_weinhold@xxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 5 Jun 2011 01:19:32 +0200 (CEST)

Author: bonefish
Date: 2011-06-05 01:19:31 +0200 (Sun, 05 Jun 2011)
New Revision: 41916
Changeset: https://dev.haiku-os.org/changeset/41916

Modified:
   haiku/branches/developer/bonefish/signals/src/system/kernel/timer.cpp
Log:
cancel_timer(): Fixed incorrect condition: Don't wait for the handler, if it is
currently executed on this CPU (IOW, when cancel_timer() has been called from
it).


Modified: haiku/branches/developer/bonefish/signals/src/system/kernel/timer.cpp
===================================================================
--- haiku/branches/developer/bonefish/signals/src/system/kernel/timer.cpp       
2011-06-04 21:53:17 UTC (rev 41915)
+++ haiku/branches/developer/bonefish/signals/src/system/kernel/timer.cpp       
2011-06-04 23:19:31 UTC (rev 41916)
@@ -286,7 +286,7 @@
        // for the hook to complete. When called from the timer hook we don't
        // wait either, of course.
        if ((event->flags & B_TIMER_ACQUIRE_SCHEDULER_LOCK) == 0
-               || cpu == smp_get_current_cpu()) {
+               && cpu != smp_get_current_cpu()) {
                spinLocker.Unlock();
 
                while (cpuData.current_event_in_progress == 1) {


Other related posts:

  • » [haiku-commits] r41916 - haiku/branches/developer/bonefish/signals/src/system/kernel - ingo_weinhold