On 07/04/2014 09:00 PM, Wolf Ramovsky wrote:
> === modified file 'uspace/srv/hid/compositor/compositor.c'
> --- uspace/srv/hid/compositor/compositor.c    2014-03-01 23:05:38 +0000
> +++ uspace/srv/hid/compositor/compositor.c    2014-07-04 18:58:58 +0000
> @@ -891,6 +891,7 @@
>  
>                       window_t *win = window_create();
>                       if (!win) {
> +                             fibril_mutex_unlock(&window_list_mtx);
>                               async_answer_2(callid, ENOMEM, 0, 0);
>                               return;
>                       }
> @@ -906,12 +907,14 @@
>                       ++window_id;
>  
>                       if (loc_service_register(name_in, &win->in_dsid) != 
> EOK) {
> +                             fibril_mutex_unlock(&window_list_mtx);
>                               window_destroy(win);
>                               async_answer_2(callid, EINVAL, 0, 0);
>                               return;
>                       }
>  
>                       if (loc_service_register(name_out, &win->out_dsid) != 
> EOK) {
> +                             fibril_mutex_unlock(&window_list_mtx);
>                               loc_service_unregister(win->in_dsid);
>                               window_destroy(win);
>                               async_answer_2(callid, EINVAL, 0, 0);


Should not the mutex be unlocked only after the window is destroyed?

Jakub

_______________________________________________
HelenOS-devel mailing list
[email protected]
http://lists.modry.cz/listinfo/helenos-devel

Reply via email to