Prevent deadlock when main thread was waiting for disk cache operation

Macro `dispatch_main_sync_safe` does not handle case, when main thread is
    already blocked by waiting for current queue to finish. Here we don’t
    really need sycnchronous execution.