Explorar o código

unregister the SD disk at the event of its ejection

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@8431 8c9fc860-2736-0410-a75d-ab315db34111
eth.morozova %!s(int64=6) %!d(string=hai) anos
pai
achega
b6c1be16a2
Modificáronse 1 ficheiros con 4 adicións e 0 borrados
  1. 4 0
      source/SdDisks.Mod

+ 4 - 0
source/SdDisks.Mod

@@ -226,6 +226,7 @@ TYPE
 					SdEnvironment.String("Removed disk ");
 					SdEnvironment.String(devices.name);
 					SdEnvironment.Ln;
+					disk := devices;
 					devices := devices.next
 				ELSE
 					disk := devices;
@@ -240,6 +241,9 @@ TYPE
 					SdEnvironment.Ln;
 					prev.next := disk.next
 				END;
+				
+				disk.next := NIL;
+				Disks.registry.Remove(disk);
 		END
 	END HandleSdEvent;