Opened 17 years ago
Closed 17 years ago
#1645 closed bug (fixed)
[Mail] window freeze if you click Trash icon
Reported by: | diver | Owned by: | axeld |
---|---|---|---|
Priority: | normal | Milestone: | R1 |
Component: | Applications/Mail | Version: | R1/pre-alpha1 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
Mail window freeze, to reproduce: *Press alt+n to open new window *click Trash icon to close this new window *click Trash icon to 1st window.
Change History (3)
comment:1 by , 17 years ago
comment:2 by , 17 years ago
The problem seems to be a deadlock caused by the BPrivate::BPathMonitor::StopWatching(BMessenger(this, this)) call in MailWindow::QuitRequested().
I followed the code path, and it seems that BPathMonitor ties the PathHandlers to the be_app looper, if available. This isn't so nice, because then, in StopWatching(), it tries to acquire the be_app lock (multiple times, too), which could be already locked in another place (in this case, in BApplication).
We could remove the use of the be_app looper in BPathMonitor (it can also use an internal looper if be_app is not available).
Mail app lock also by just opening it, and clicking the Trash button. Although in this case the window will close, but the deskbar entry will stay there.