diff --git a/service/fsmanager.lua b/service/fsmanager.lua index e33beaa..32a6ae8 100644 --- a/service/fsmanager.lua +++ b/service/fsmanager.lua @@ -11,11 +11,16 @@ end for addr, _ in component.list("filesystem") do mount(addr) end -while true do - local tE = {coroutine.yield()} - if tE[1] == "component_added" and tE[3] == "filesystem" then - mount(tE[2]) - elseif tE[1] == "component_removed" and tE[3] == "filesystem" then - fs.umount("/mnt/"..tE[2]:sub(1,3)) - end + +function start() + return os.spawn(function() + while true do + local tE = {coroutine.yield()} + if tE[1] == "component_added" and tE[3] == "filesystem" then + mount(tE[2]) + elseif tE[1] == "component_removed" and tE[3] == "filesystem" then + fs.umount("/mnt/"..tE[2]:sub(1,3)) + end + end + end,"fsmanager") end