Skip to content

Window creation lock-up fix#119

Merged
DominikWitczakAMD merged 1 commit intoGPUOpen-Archive:masterfrom
kbiElude:window_title_lockup_fix
Nov 5, 2018
Merged

Window creation lock-up fix#119
DominikWitczakAMD merged 1 commit intoGPUOpen-Archive:masterfrom
kbiElude:window_title_lockup_fix

Conversation

@kbiElude
Copy link
Copy Markdown
Contributor

Fix a lock-up which could occur if:

  1. Window thread T1 became temporarily unresponsive, waiting for T2 to finish
  2. Thread T2 tried to create an Anvil window instance for window owned by T1.

The lock-up occurred because GetWindowTextLength() actually maps to a window message which cannot
be handled because T1 is waiting on T2. There's no real solution other than just getting rid of
the circular dependency, meaning we need Anvil to stop trying to retrieve window name at Anvil::Window
creation time.

1) Window thread T1 became temporarily unresponsive, waiting for T2 to finish
2) Thread T2 tried to create an Anvil window instance for window owned by T1.

The lock-up occurred because GetWindowTextLength() actually maps to a window message which cannot
be handled because T1 is waiting on T2. There's no real solution other than just getting rid of
the circular dependency, meaning we need Anvil to stop trying to retrieve window name at Anvil::Window
creation time.
@DominikWitczakAMD DominikWitczakAMD merged commit e68bd87 into GPUOpen-Archive:master Nov 5, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants