[haiku-commits] Re: haiku: hrev45321 - in src: apps/deskbar kits/interface

  • From: Axel Dörfler <axeld@xxxxxxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 25 Feb 2013 20:51:27 +0100

Am 24/02/2013 10:40, schrieb jscipione@xxxxxxxxx:
-       fTrackingPID = spawn_thread(_TrackTask, "menu_tracking", 
B_DISPLAY_PRIORITY,
-               NULL);
+       fTrackingPID = spawn_thread(_TrackTask, "menu_tracking",
+               B_DISPLAY_PRIORITY, NULL);

This line seems to have been exactly 80 characters wide - are your editor settings alright, or did you only change it for esthetical reasons?

> +          if (Window()->IsLocked()) {
> +                  // If window is locked by the menu_tracking thread kill it
> +                  // to prevent a deadlock. See ticket #8539.
> +                  thread_id menu_tracking = find_thread("menu_tracking");
> +                  if (menu_tracking != B_NAME_NOT_FOUND)
> +                          kill_thread(menu_tracking);
> +          }

While this introduces a style violation (menu_tracking -> menuTracking, or even better trackingThread), if you have to kill a thread (that doesn't even belong you), you are doing something wrong.

Please revert this, and find the actual cause of the issue -- a deadlock does not happen because something takes long, it happens because there is a locking problem.

Bye,
   Axel.


Other related posts: