fix calling of notifications. remove deadlock in 'eom_set_output_attribute' 55/81755/2
authorRoman Peresipkyn <r.peresipkyn@samsung.com>
Thu, 28 Jul 2016 07:28:49 +0000 (10:28 +0300)
committerRoman Peresipkyn <r.peresipkyn@samsung.com>
Thu, 28 Jul 2016 10:42:11 +0000 (13:42 +0300)
commite27d6525a827cfdca2c17bef5731258f2e81eb63
treefa36b99e5979bc0139b5e57ab7154c230e4168fe
parente6c202717c12613a91e9057209ce84c3a1d4ea2f
fix calling of notifications. remove deadlock in 'eom_set_output_attribute'

Cause of deadlock:
'eom_set_output_attribute' locks eom_mutex, then it calls eom wayland implementation 'eom_wayland_client_set_attribute' function. It sets attribute and waits for Enlightenment reply by invocation of 'wl_display_dispatch' and 'wl_display_roundtrip'. When client handles '_eom_wl_eom_output_attribute' it calls 'eom_wl_output->client_info->func' in the end, the func is '_eom_output_process_notify_cb'. '_eom_output_process_notify_cb' func is try to lock eom_mutex which is already locked by 'eom_set_output_attribute'.

Change-Id: I6bea2b765d2636e8766a8dd3077c6081e0cae5dd
Signed-off-by: Roman Peresipkyn <r.peresipkyn@samsung.com>
src/eom.c
src/wayland/eom-wayland.c