View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0003751||JEDI VCL||00 JVCL Components||public||2006-06-08 02:53||2007-01-03 11:58|
|Target Version||Fixed in Version||3.30|
|Summary||0003751: JvChangeNotify enters deadlock if directory is deleted|
|Description||If you create a notification to watch a folder X, even if only with the caChangeFilename action, and that folder is deleted, it enters a deadlock constantly generating the notification event.|
I even created another notification (caChangeDirname) to watch it and delete the file notification in case the folder is deleted, but that doesn't help.
I don't have a fix for it yet, but the sample files show how to reproduce the error.
Create a C:\x1\x2 folder, activate the component, and delete x2. Deadlock.
It does respond to deactivation, though.
|Tags||No tags attached.|
Unit8.zip (1,029 bytes)
I confirmed that the bug is present in JVCL 3.2.
But it only happens if you delete the folder by sending it to the recycle bin, if you delete it by pressing SHIFT-DEL it doesn't happen.
If this helps, Greatis DelphiToys FolderMon (www.greatis.com)doesn't have the problem (but as I don't have access to its source, so I can't check how it was done), so it's not a Windows API bug.
As far as I could understand, in JvChangeNotify.pas, line 563, I noticed that FindNextChangeNotification never fails, even after the directory is deleted, and that WaitForMultipleObjects also never timeout, suggesting that the object is kept signalled, but I haven't got a clue on how to fix this.
Should you find a way to fix that, please use the sources from the daily snapshot here
and create a diff file containing your changes. Even better, use the SVN repository
and create a patch file
||I'm not seing this with the current SVN version so I'm assuming this is fixed.|
|2006-06-08 02:53||anudedeus||New Issue|
|2006-06-08 02:53||anudedeus||File Added: Unit8.zip|
|2006-06-08 09:19||anudedeus||Note Added: 0009497|
|2006-06-09 01:22||obones||Note Added: 0009506|
|2006-06-09 01:22||obones||Status||new => feedback|
|2007-01-03 11:57||obones||Status||feedback => resolved|
|2007-01-03 11:57||obones||Fixed in Version||=> Daily / SVN|
|2007-01-03 11:57||obones||Resolution||open => fixed|
|2007-01-03 11:57||obones||Assigned To||=> obones|
|2007-01-03 11:57||obones||Note Added: 0010490|