-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/125248/
-----------------------------------------------------------

(Updated Сен. 16, 2015, 6:07 п.п.)


Review request for Plasma and Solid.


Changes
-------

Make process call async. I had to make it using lambda/cloisures magic, because 
I want slot to be aware of list of blocking processes as well as of error from 
solid itself. Also I had to keep in mind that there might be different errors 
from different devices simultaneously, so I can't store error somewhere inside.

Also "fuser" is not a desirable option here, because apparently it doesn't show 
when some process is blocking any subdirectory of mount point, while lsof does.

static_casts when connected to lambda are needed because of signal overload 
(QProcess::finished), see 
[link](https://forum.qt.io/topic/20998/qt5-new-signals-slots-syntax-does-not-work-solved/8)
 for more details.

If someone knows more beautiful solution, I would glad to hear :)


Repository: plasma-workspace


Description
-------

An attempt to implement feature from [bug 
96107](https://bugs.kde.org/show_bug.cgi?id=96107) (see summary).

On umount/eject error it runs "lsof" executable, gets PIDs of blocking 
processes and obtains names of processes via KSysGuard::Process machinery. 
Finally it appends obtained information to error message which is shown in 
tooltip of Device Notifier applet.


Diffs (updated)
-----

  dataengines/devicenotifications/ksolidnotify.cpp 35d49d6 
  dataengines/devicenotifications/ksolidnotify.h a471d50 
  dataengines/devicenotifications/CMakeLists.txt 3f7fd83 

Diff: https://git.reviewboard.kde.org/r/125248/diff/


Testing
-------

Tested unmount on busy device with several processes blocking it. Did not test 
eject, since I have no optical disc drive :(


File Attachments
----------------

Applet with error message
  
https://git.reviewboard.kde.org/media/uploaded/files/2015/09/15/3b1b64fc-abff-4633-9dca-621388edf086__snapshot11.png


Thanks,

Igor Poboiko

_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to