Skip to content

Guard overlapping session-lock acquires - #11876

Closed
Chessing234 wants to merge 1 commit into
omacom:quattrofrom
Chessing234:fix/9654-lock-acquire-guard
Closed

Chessing234 wants to merge 1 commit into
omacom:quattrofrom
Chessing234:fix/9654-lock-acquire-guard

Conversation

@Chessing234

@Chessing234 Chessing234 commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Overlapping sessionLock.locked = true writes while an acquire is in flight make Quickshell abort with "Tried to show lockscreen surfaces without active lock".
  • Track an in-flight acquire flag, ignore concurrent requests, and clear the flag on lock/secure/unlock or a 2s watchdog so a later lock can retry.

Fixes #9654

Test plan

  • bash test/shell.d/lock-acquire-pending-test.sh
  • bash test/shell.d/lock-stranded-recovery-test.sh
  • Idle lock still engages normally; forced concurrent lock requests no longer abort the shell

A second sessionLock.locked=true while acquire is in flight makes
Quickshell abort showing lock surfaces. Track pending acquires and reset
on success, unlock, or watchdog timeout.
@Chessing234

Copy link
Copy Markdown
Contributor Author

folded into #12064 for a single review.

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.

Quickshell aborts when idle lock shows surfaces without an active session lock

1 participant