ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/Spectre2/Unmounter.cpp
(Generate patch)

Comparing Spectre2/Unmounter.cpp (file contents):
Revision 428 by douglas, 2005-03-24T17:38:00-08:00 vs.
Revision 432 by douglas, 2005-03-27T01:56:29-08:00

# Line 6 | Line 6
6  
7   #include "Unmounter.hpp"
8  
9 < Unmounter::Unmounter(const api::Path& config) : Daemon(), config(config) {}
10 <
11 < void Unmounter::load()
12 < {
13 <        loaded = true;
14 < }
15 <
16 < void Unmounter::run()
9 > void Unmounter::operator()()
10   {
11 <        ext::ThreadSet<> workers;
19 <
20 <        _synchronized (Spectre2::sharesLock) _foreach (const ext::RedBlackSet<Share>, share, Spectre2::shares) if (share->mounted() && !share->mountable())
21 <        {
22 <                api::Cout << "STUB: unmount " << share << ios::NewLine;
23 <        }
24 <
25 <        workers.Join();
11 >        _L<ext::String> args(1, "-f");
12  
13 <        ::sleep(5);
13 > #ifndef __FreeBSD__
14 >        args[0].InsertAllLast("l");
15 > #endif
16 >        args.InsertLast(share.getMount());
17 >
18 >        _S<api::Process> umount(Spectre2::umount, args);
19 >
20 >        if (Spectre2::debug)
21 >                ios::ReadToWrite(*umount.GetReader(), api::Cout);
22 >        else
23 >                ios::Discard(*umount.GetReader());
24   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines