[PATCH 0/6] MR5224: Explicitly request debug info in critical sections.
From: Paul Gofman <pgofman(a)codeweavers.com> --- dlls/quartz/filesource.c | 2 +- dlls/quartz/filtergraph.c | 4 ++-- dlls/quartz/memallocator.c | 2 +- dlls/quartz/systemclock.c | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dlls/quartz/filesource.c b/dlls/quartz/filesource.c index 7d6292df579..a815a8c0bd2 100644 --- a/dlls/quartz/filesource.c +++ b/dlls/quartz/filesource.c @@ -420,7 +420,7 @@ HRESULT async_reader_create(IUnknown *outer, IUnknown **out) object->IFileSourceFilter_iface.lpVtbl = &FileSource_Vtbl; object->IAsyncReader_iface.lpVtbl = &FileAsyncReader_Vtbl; - InitializeCriticalSection(&object->sample_cs); + InitializeCriticalSectionEx(&object->sample_cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO); object->sample_cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": FileAsyncReader.sample_cs"); InitializeConditionVariable(&object->sample_cv); object->port = CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, 0, 0); diff --git a/dlls/quartz/filtergraph.c b/dlls/quartz/filtergraph.c index 4100e71be3a..5673a9ba071 100644 --- a/dlls/quartz/filtergraph.c +++ b/dlls/quartz/filtergraph.c @@ -5702,9 +5702,9 @@ static HRESULT filter_graph_common_create(IUnknown *outer, IUnknown **out, BOOL return hr; } - InitializeCriticalSection(&object->cs); + InitializeCriticalSectionEx(&object->cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO); object->cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": filter_graph.cs"); - InitializeCriticalSection(&object->event_cs); + InitializeCriticalSectionEx(&object->event_cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO); object->event_cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": filter_graph.event_cs"); object->defaultclock = TRUE; diff --git a/dlls/quartz/memallocator.c b/dlls/quartz/memallocator.c index 87869b4d6b2..ca786ab0046 100644 --- a/dlls/quartz/memallocator.c +++ b/dlls/quartz/memallocator.c @@ -920,7 +920,7 @@ HRESULT mem_allocator_create(IUnknown *lpUnkOuter, IUnknown **out) if (!(pMemAlloc = CoTaskMemAlloc(sizeof(*pMemAlloc)))) return E_OUTOFMEMORY; - InitializeCriticalSection(&pMemAlloc->csState); + InitializeCriticalSectionEx(&pMemAlloc->csState, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO); pMemAlloc->csState.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": StdMemAllocator.csState"); pMemAlloc->pMemory = NULL; diff --git a/dlls/quartz/systemclock.c b/dlls/quartz/systemclock.c index 01a8e9fa1ee..acba012abb4 100644 --- a/dlls/quartz/systemclock.c +++ b/dlls/quartz/systemclock.c @@ -340,7 +340,7 @@ HRESULT system_clock_create(IUnknown *outer, IUnknown **out) object->outer_unk = outer ? outer : &object->IUnknown_inner; object->refcount = 1; list_init(&object->sinks); - InitializeCriticalSection(&object->cs); + InitializeCriticalSectionEx(&object->cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO); object->cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": SystemClockImpl.cs"); TRACE("Created system clock %p.\n", object); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/5224
From: Paul Gofman <pgofman(a)codeweavers.com> --- dlls/urlmon/binding.c | 2 +- dlls/urlmon/bindprot.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/urlmon/binding.c b/dlls/urlmon/binding.c index 07a00558eec..b36fa161781 100644 --- a/dlls/urlmon/binding.c +++ b/dlls/urlmon/binding.c @@ -1474,7 +1474,7 @@ static HRESULT Binding_Create(IMoniker *mon, Binding *binding_ctx, IUri *uri, IB ret->bindinfo.cbSize = sizeof(BINDINFO); - InitializeCriticalSection(&ret->section); + InitializeCriticalSectionEx(&ret->section, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO); ret->section.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": Binding.section"); hres = get_callback(pbc, &ret->callback); diff --git a/dlls/urlmon/bindprot.c b/dlls/urlmon/bindprot.c index ec52ac5e999..0a7afc75e1b 100644 --- a/dlls/urlmon/bindprot.c +++ b/dlls/urlmon/bindprot.c @@ -1468,7 +1468,7 @@ HRESULT create_binding_protocol(BindProtocol **protocol) ret->notif_hwnd = get_notif_hwnd(); ret->protocol_handler = &ret->default_protocol_handler.IInternetProtocol_iface; ret->protocol_sink_handler = &ret->default_protocol_handler.IInternetProtocolSink_iface; - InitializeCriticalSection(&ret->section); + InitializeCriticalSectionEx(&ret->section, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO); ret->section.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": BindProtocol.section"); URLMON_LockModule(); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/5224
From: Paul Gofman <pgofman(a)codeweavers.com> --- dlls/winegstreamer/media_sink.c | 2 +- dlls/winegstreamer/media_source.c | 2 +- dlls/winegstreamer/quartz_parser.c | 4 ++-- dlls/winegstreamer/wg_sample.c | 2 +- dlls/winegstreamer/wm_reader.c | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dlls/winegstreamer/media_sink.c b/dlls/winegstreamer/media_sink.c index 6c8d69f73df..5ee2c44dc70 100644 --- a/dlls/winegstreamer/media_sink.c +++ b/dlls/winegstreamer/media_sink.c @@ -1243,7 +1243,7 @@ static HRESULT media_sink_create(IMFByteStream *bytestream, const char *format, media_sink->async_callback.lpVtbl = &media_sink_callback_vtbl; media_sink->refcount = 1; media_sink->state = STATE_OPENED; - InitializeCriticalSection(&media_sink->cs); + InitializeCriticalSectionEx(&media_sink->cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO); media_sink->cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": cs"); IMFByteStream_AddRef((media_sink->bytestream = bytestream)); list_init(&media_sink->stream_sinks); diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c index 9cc54f8e146..3b5469932f3 100644 --- a/dlls/winegstreamer/media_source.c +++ b/dlls/winegstreamer/media_source.c @@ -1634,7 +1634,7 @@ static HRESULT media_source_create(struct object_context *context, IMFMediaSourc IMFByteStream_AddRef(context->stream); object->file_size = context->file_size; object->rate = 1.0f; - InitializeCriticalSection(&object->cs); + InitializeCriticalSectionEx(&object->cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO); object->cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": cs"); if (FAILED(hr = MFCreateEventQueue(&object->event_queue))) diff --git a/dlls/winegstreamer/quartz_parser.c b/dlls/winegstreamer/quartz_parser.c index 44e13d05c2a..6c126fa13e2 100644 --- a/dlls/winegstreamer/quartz_parser.c +++ b/dlls/winegstreamer/quartz_parser.c @@ -1663,7 +1663,7 @@ static HRESULT parser_create(enum wg_parser_type type, BOOL output_compressed, s return E_OUTOFMEMORY; } - InitializeCriticalSection(&object->streaming_cs); + InitializeCriticalSectionEx(&object->streaming_cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO); object->streaming_cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": parser.streaming_cs"); InitializeConditionVariable(&object->flushing_cv); @@ -2145,7 +2145,7 @@ static struct parser_source *create_pin(struct parser *filter, GST_ChangeCurrent, GST_ChangeRate); BaseFilterImpl_IncrementPinVersion(&filter->filter); - InitializeCriticalSection(&pin->flushing_cs); + InitializeCriticalSectionEx(&pin->flushing_cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO); pin->flushing_cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": pin.flushing_cs"); InitializeConditionVariable(&pin->eos_cv); diff --git a/dlls/winegstreamer/wg_sample.c b/dlls/winegstreamer/wg_sample.c index 31281066957..9427dad0f93 100644 --- a/dlls/winegstreamer/wg_sample.c +++ b/dlls/winegstreamer/wg_sample.c @@ -283,7 +283,7 @@ HRESULT wg_sample_queue_create(struct wg_sample_queue **out) if (!(queue = calloc(1, sizeof(*queue)))) return E_OUTOFMEMORY; - InitializeCriticalSection(&queue->cs); + InitializeCriticalSectionEx(&queue->cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO); queue->cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": cs"); list_init(&queue->samples); diff --git a/dlls/winegstreamer/wm_reader.c b/dlls/winegstreamer/wm_reader.c index e3a2bfc343b..18910f87d40 100644 --- a/dlls/winegstreamer/wm_reader.c +++ b/dlls/winegstreamer/wm_reader.c @@ -2658,9 +2658,9 @@ HRESULT WINAPI winegstreamer_create_wm_sync_reader(IUnknown *outer, void **out) object->outer = outer ? outer : &object->IUnknown_inner; object->refcount = 1; - InitializeCriticalSection(&object->cs); + InitializeCriticalSectionEx(&object->cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO); object->cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": reader.cs"); - InitializeCriticalSection(&object->shutdown_cs); + InitializeCriticalSectionEx(&object->shutdown_cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO); object->shutdown_cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": reader.shutdown_cs"); TRACE("Created reader %p.\n", object); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/5224
From: Paul Gofman <pgofman(a)codeweavers.com> --- dlls/wmiutils/path.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/wmiutils/path.c b/dlls/wmiutils/path.c index 48b79ccdb23..152f933e3a6 100644 --- a/dlls/wmiutils/path.c +++ b/dlls/wmiutils/path.c @@ -1282,7 +1282,7 @@ HRESULT WbemPath_create( LPVOID *ppObj ) path->IWbemPath_iface.lpVtbl = &path_vtbl; path->refs = 1; - InitializeCriticalSection( &path->cs ); + InitializeCriticalSectionEx( &path->cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO ); path->cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": wmiutils_path.cs"); init_path( path ); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/5224
From: Paul Gofman <pgofman(a)codeweavers.com> --- dlls/windows.gaming.input/async.c | 2 +- dlls/windows.gaming.input/force_feedback.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/windows.gaming.input/async.c b/dlls/windows.gaming.input/async.c index a30004f2d24..d70994289f1 100644 --- a/dlls/windows.gaming.input/async.c +++ b/dlls/windows.gaming.input/async.c @@ -356,7 +356,7 @@ static HRESULT async_info_create( IUnknown *invoker, IUnknown *param, async_oper if ((impl->invoker = invoker)) IUnknown_AddRef( impl->invoker ); if ((impl->param = param)) IUnknown_AddRef( impl->param ); - InitializeCriticalSection( &impl->cs ); + InitializeCriticalSectionEx( &impl->cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO ); impl->cs.DebugInfo->Spare[0] = (DWORD_PTR)( __FILE__ ": async_info.cs" ); *out = &impl->IWineAsyncInfoImpl_iface; diff --git a/dlls/windows.gaming.input/force_feedback.c b/dlls/windows.gaming.input/force_feedback.c index 39a450f3778..a272daee25f 100644 --- a/dlls/windows.gaming.input/force_feedback.c +++ b/dlls/windows.gaming.input/force_feedback.c @@ -420,7 +420,7 @@ HRESULT force_feedback_effect_create( enum WineForceFeedbackEffectType type, IIn impl->axes[1] = DIJOFS_Y; impl->axes[2] = DIJOFS_Z; - InitializeCriticalSection( &impl->cs ); + InitializeCriticalSectionEx( &impl->cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO ); impl->cs.DebugInfo->Spare[0] = (DWORD_PTR)( __FILE__ ": effect.cs" ); *out = &impl->IWineForceFeedbackEffectImpl_iface; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/5224
From: Paul Gofman <pgofman(a)codeweavers.com> --- dlls/windows.media.speech/async.c | 4 ++-- dlls/windows.media.speech/recognizer.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dlls/windows.media.speech/async.c b/dlls/windows.media.speech/async.c index 3c5f450cc65..2b2dc394305 100644 --- a/dlls/windows.media.speech/async.c +++ b/dlls/windows.media.speech/async.c @@ -366,7 +366,7 @@ HRESULT async_action_create( IInspectable *invoker, async_action_callback callba if (invoker) IInspectable_AddRef((impl->invoker = invoker)); - InitializeCriticalSection(&impl->cs); + InitializeCriticalSectionEx(&impl->cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO); impl->cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": async_action.cs"); /* AddRef to keep the obj alive in the callback. */ @@ -745,7 +745,7 @@ HRESULT async_operation_inspectable_create( const GUID *iid, if (invoker) IInspectable_AddRef((impl->invoker = invoker)); - InitializeCriticalSection(&impl->cs); + InitializeCriticalSectionEx(&impl->cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO); impl->cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": async_operation.cs"); /* AddRef to keep the obj alive in the callback. */ diff --git a/dlls/windows.media.speech/recognizer.c b/dlls/windows.media.speech/recognizer.c index 790d127fc64..a98970d35f9 100644 --- a/dlls/windows.media.speech/recognizer.c +++ b/dlls/windows.media.speech/recognizer.c @@ -1126,7 +1126,7 @@ static HRESULT WINAPI recognizer_factory_Create( ISpeechRecognizerFactory *iface if (FAILED(hr = recognizer_factory_create_audio_capture(session))) goto error; - InitializeCriticalSection(&session->cs); + InitializeCriticalSectionEx(&session->cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO); session->cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": recognition_session.cs"); /* Init ISpeechRecognizer */ -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/5224
This merge request was approved by Hans Leidekker. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/5224
This merge request was approved by Rémi Bernon. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/5224
This merge request was approved by Zebediah Figura. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/5224
participants (5)
-
Hans Leidekker (@hans) -
Paul Gofman -
Paul Gofman (@gofman) -
Rémi Bernon -
Zebediah Figura (@zfigura)