javaextensions/bluetooth/bluetoothcommons/src.s60/servicerecord.cpp
changeset 87 1627c337e51e
parent 72 1f0034e370aa
--- a/javaextensions/bluetooth/bluetoothcommons/src.s60/servicerecord.cpp	Fri Oct 15 12:29:39 2010 +0300
+++ b/javaextensions/bluetooth/bluetoothcommons/src.s60/servicerecord.cpp	Fri Oct 29 11:49:32 2010 +0300
@@ -219,12 +219,16 @@
     if (persistentRecFd < 0)
         return errno;
 
+
     // Reading and restoring the DeviceServiceClasses bits
     int devServClass = 0;
     ret = read(persistentRecFd, &devServClass, sizeof(devServClass));
 
     if (ret <= 0)
+    {
+        close(persistentRecFd);
         return errno;
+    }
 
     if (devServClass != 0)
     {
@@ -429,7 +433,7 @@
     // Indicates a successful retrieval
     // of the service record from the persistent file
     mRestoredFromPersistentFile = true;
-
+    close(persistentRecFd);
     return ret;
 }
 
@@ -1312,6 +1316,7 @@
     if (ret <= 0)
     {
         delete srvRecPopulator;
+        close(persistentRecFd);
         return;
     }
 
@@ -1525,7 +1530,7 @@
     }
 
     delete srvRecPopulator;
-
+    close(persistentRecFd);
     return;
 }