diff --git a/libweston/backend-rdp/meson.build b/libweston/backend-rdp/meson.build index d43eb651..5794987d 100644 --- a/libweston/backend-rdp/meson.build +++ b/libweston/backend-rdp/meson.build @@ -4,10 +4,6 @@ endif config_h.set('BUILD_RDP_COMPOSITOR', '1') -if get_option('rdp-thread-check') - config_h.set('ENABLE_RDP_THREAD_CHECK', '1') -endif - dep_frdp = dependency('freerdp2', version: '>= 2.2.0', required: false) if not dep_frdp.found() error('RDP-backend requires freerdp >= 2.2.0 which was not found. Or, you can use \'-Dbackend-rdp=false\'.') diff --git a/libweston/backend-rdp/rdp.h b/libweston/backend-rdp/rdp.h index e2fc6abf..7fb42118 100644 --- a/libweston/backend-rdp/rdp.h +++ b/libweston/backend-rdp/rdp.h @@ -165,14 +165,6 @@ struct rdp_loop_task { rdp_loop_task_func_t func; }; -#ifdef ENABLE_RDP_THREAD_CHECK -#define ASSERT_COMPOSITOR_THREAD(b) assert_compositor_thread(b) -#define ASSERT_NOT_COMPOSITOR_THREAD(b) assert_not_compositor_thread(b) -#else -#define ASSERT_COMPOSITOR_THREAD(b) (void)b -#define ASSERT_NOT_COMPOSITOR_THREAD(b) (void)b -#endif /* ENABLE_RDP_THREAD_CHECK */ - #define rdp_debug_verbose(b, ...) \ rdp_debug_print(b->verbose, false, __VA_ARGS__) #define rdp_debug_verbose_continue(b, ...) \ @@ -201,13 +193,11 @@ rdp_wl_array_read_fd(struct wl_array *array, int fd); void convert_rdp_keyboard_to_xkb_rule_names(UINT32 KeyboardType, UINT32 KeyboardSubType, UINT32 KeyboardLayout, struct xkb_rule_names *xkbRuleNames); -#ifdef ENABLE_RDP_THREAD_CHECK void assert_compositor_thread(struct rdp_backend *b); void assert_not_compositor_thread(struct rdp_backend *b); -#endif /* ENABLE_RDP_THREAD_CHECK */ bool rdp_event_loop_add_fd(struct wl_event_loop *loop, diff --git a/libweston/backend-rdp/rdpclip.c b/libweston/backend-rdp/rdpclip.c index c8955e8c..1ac8588c 100644 --- a/libweston/backend-rdp/rdpclip.c +++ b/libweston/backend-rdp/rdpclip.c @@ -661,7 +661,7 @@ clipboard_data_source_unref(struct rdp_clipboard_data_source *source) struct rdp_backend *b = ctx->rdpBackend; char **p; - ASSERT_COMPOSITOR_THREAD(b); + assert_compositor_thread(b); assert(source->refcount); source->refcount--; @@ -764,7 +764,7 @@ clipboard_data_source_read(int fd, uint32_t mask, void *arg) __func__, source, clipboard_data_source_state_to_string(source), fd); - ASSERT_COMPOSITOR_THREAD(b); + assert_compositor_thread(b); assert(source->data_source_fd == fd); assert(source->refcount == 1); @@ -832,7 +832,7 @@ clipboard_data_source_fail(int fd, uint32_t mask, void *arg) rdp_debug_clipboard_verbose(b, "RDP %s (%p:%s) fd:%d\n", __func__, source, clipboard_data_source_state_to_string(source), fd); - ASSERT_COMPOSITOR_THREAD(b); + assert_compositor_thread(b); assert(source->data_source_fd == fd); /* this data source must be tracked as inflight */ @@ -886,7 +886,7 @@ clipboard_data_source_write(int fd, uint32_t mask, void *arg) clipboard_data_source_state_to_string(source), fd); - ASSERT_COMPOSITOR_THREAD(b); + assert_compositor_thread(b); assert(source->data_source_fd == fd); /* this data source must be tracked as inflight */ @@ -1018,7 +1018,7 @@ clipboard_data_source_send(struct weston_data_source *base, clipboard_data_source_state_to_string(source), fd, mime_type); - ASSERT_COMPOSITOR_THREAD(b); + assert_compositor_thread(b); if (ctx->clipboard_inflight_client_data_source) { /* Here means server side (Linux application) request clipboard data, @@ -1134,7 +1134,7 @@ clipboard_data_source_cancel(struct weston_data_source *base) __func__, source, clipboard_data_source_state_to_string(source)); - ASSERT_COMPOSITOR_THREAD(b); + assert_compositor_thread(b); if (source == ctx->clipboard_inflight_client_data_source) { source->is_canceled = true; @@ -1185,7 +1185,7 @@ clipboard_data_source_publish(bool freeOnly, void *arg) rdp_debug_clipboard(b, "RDP %s (%p:%s)\n", __func__, source, clipboard_data_source_state_to_string(source)); - ASSERT_COMPOSITOR_THREAD(b); + assert_compositor_thread(b); /* here is going to publish new data, if previous data from client is still referenced, unref it after selection */ @@ -1225,7 +1225,7 @@ clipboard_data_source_request(bool freeOnly, void *arg) bool found_requested_format; bool ret; - ASSERT_COMPOSITOR_THREAD(b); + assert_compositor_thread(b); if (freeOnly) goto error_exit_free_request; @@ -1331,7 +1331,7 @@ clipboard_set_selection(struct wl_listener *listener, void *data) rdp_debug_clipboard(b, "RDP %s (base:%p)\n", __func__, selection_data_source); - ASSERT_COMPOSITOR_THREAD(b); + assert_compositor_thread(b); if (selection_data_source == NULL) { return; @@ -1450,7 +1450,7 @@ clipboard_client_format_list(CliprdrServerContext *context, const CLIPRDR_FORMAT struct rdp_clipboard_data_source *source = NULL; char **p, *s; - ASSERT_NOT_COMPOSITOR_THREAD(b); + assert_not_compositor_thread(b); rdp_debug_clipboard(b, "Client: %s clipboard format list: numFormats:%d\n", __func__, formatList->numFormats); for (uint32_t i = 0; i < formatList->numFormats; i++) { @@ -1548,7 +1548,7 @@ clipboard_client_format_data_response(CliprdrServerContext *context, const CLIPR formatDataResponse->msgFlags, formatDataResponse->dataLen); - ASSERT_NOT_COMPOSITOR_THREAD(b); + assert_not_compositor_thread(b); if (!source) { rdp_debug_clipboard(b, "Client: %s client send data without server asking. protocol error", __func__); @@ -1612,7 +1612,7 @@ clipboard_client_format_list_response(CliprdrServerContext *context, struct rdp_backend *b = ctx->rdpBackend; rdp_debug_clipboard(b, "Client: %s msgFlags:0x%x\n", __func__, formatListResponse->msgFlags); - ASSERT_NOT_COMPOSITOR_THREAD(b); + assert_not_compositor_thread(b); return 0; } @@ -1631,7 +1631,7 @@ clipboard_client_format_data_request(CliprdrServerContext *context, __func__, formatDataRequest->requestedFormatId, clipboard_format_id_to_string(formatDataRequest->requestedFormatId, true)); - ASSERT_NOT_COMPOSITOR_THREAD(b); + assert_not_compositor_thread(b); /* Make sure clients requested the format we knew */ index = clipboard_find_supported_format_by_format_id(formatDataRequest->requestedFormatId); @@ -1671,7 +1671,7 @@ rdp_clipboard_init(freerdp_peer *client) assert(seat); - ASSERT_COMPOSITOR_THREAD(b); + assert_compositor_thread(b); ctx->clipboard_server_context = cliprdr_server_context_new(ctx->vcm); if (!ctx->clipboard_server_context) @@ -1717,7 +1717,7 @@ rdp_clipboard_destroy(RdpPeerContext *ctx) struct rdp_clipboard_data_source *data_source; struct rdp_backend *b = ctx->rdpBackend; - ASSERT_COMPOSITOR_THREAD(b); + assert_compositor_thread(b); if (ctx->clipboard_selection_listener.notify) { wl_list_remove(&ctx->clipboard_selection_listener.link); diff --git a/libweston/backend-rdp/rdputil.c b/libweston/backend-rdp/rdputil.c index 8b49b8e2..9aca3139 100644 --- a/libweston/backend-rdp/rdputil.c +++ b/libweston/backend-rdp/rdputil.c @@ -76,7 +76,6 @@ end: va_end(ap); } -#ifdef ENABLE_RDP_THREAD_CHECK void assert_compositor_thread(struct rdp_backend *b) { @@ -88,7 +87,6 @@ assert_not_compositor_thread(struct rdp_backend *b) { assert(b->compositor_tid != gettid()); } -#endif /* ENABLE_RDP_THREAD_CHECK */ bool rdp_event_loop_add_fd(struct wl_event_loop *loop, @@ -113,7 +111,7 @@ rdp_dispatch_task_to_display_loop(RdpPeerContext *peerCtx, { /* this function is ONLY used to queue the task from FreeRDP thread, * and the task to be processed at wayland display loop thread. */ - ASSERT_NOT_COMPOSITOR_THREAD(peerCtx->rdpBackend); + assert_not_compositor_thread(peerCtx->rdpBackend); task->peerCtx = peerCtx; task->func = func; @@ -134,7 +132,7 @@ rdp_dispatch_task(int fd, uint32_t mask, void *arg) eventfd_t dummy; /* this must be called back at wayland display loop thread */ - ASSERT_COMPOSITOR_THREAD(peerCtx->rdpBackend); + assert_compositor_thread(peerCtx->rdpBackend); eventfd_read(peerCtx->loop_task_event_source_fd, &dummy);