OpenVMSFileHandle.st
changeset 4762 7c403263e1be
child 17711 39faaaf888b4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/OpenVMSFileHandle.st	Sat Sep 18 13:11:28 1999 +0200
@@ -0,0 +1,57 @@
+OSFileHandle subclass:#OpenVMSFileHandle
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'OS-OpenVMS'
+!
+
+!OpenVMSFileHandle primitiveDefinitions!
+%{
+#include <stdio.h>
+%}
+
+! !
+
+
+!OpenVMSFileHandle methodsFor:'finalization'!
+
+disposed
+    "a file handle was garbage collected - close the underlying file"
+
+%{
+    FILE *f = (FILE *)(__externalAddressVal(self));
+
+    if (f) {
+        __externalAddressVal(self) = NULL;
+        fclose(f);
+    }
+%}
+
+
+
+! !
+
+!OpenVMSFileHandle methodsFor:'release'!
+
+close
+    "close the file"
+
+%{
+    FILE *f = (FILE *)(__externalAddressVal(self));
+
+    if (f) {
+        __externalAddressVal(self) = NULL;
+        fclose(f);
+    }
+%}.
+    Lobby unregister:self
+
+
+
+! !
+
+!OpenVMSFileHandle class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libbasic/OpenVMSFileHandle.st,v 1.1 1999-09-18 11:11:28 cg Exp $'
+! !