From a800031a322b9650b02ddc935de38764a89e4e1b Mon Sep 17 00:00:00 2001
From: "U-C4\\Administrator" <Administrator@c4.(none)>
Date: Mon, 15 Oct 2007 16:19:50 -0500
Subject: [PATCH] Move platform-specific destructor code out of
 extra/destructors

---
 extra/destructors/destructors.factor     |  4 ----
 extra/destructors/unix/unix.factor       |  9 ---------
 extra/destructors/windows/windows.factor | 11 -----------
 extra/io/sniffer/bsd/bsd.factor          |  3 +++
 extra/io/windows/windows.factor          |  6 ++++++
 5 files changed, 9 insertions(+), 24 deletions(-)
 delete mode 100644 extra/destructors/unix/unix.factor
 delete mode 100644 extra/destructors/windows/windows.factor

diff --git a/extra/destructors/destructors.factor b/extra/destructors/destructors.factor
index 42a6d4a0c9..4d3a150124 100755
--- a/extra/destructors/destructors.factor
+++ b/extra/destructors/destructors.factor
@@ -84,10 +84,6 @@ M: socket-destructor (destruct) ( obj -- ) (socket-destructor) ;
 : close-socket-later ( handle -- )
     f <socket-destructor> push-destructor ;
 
-USE-IF: windows? destructors.windows
-USE-IF: unix? destructors.unix
-
-
 
 ! : add-destructor ( word quot -- )
     ! >quotation
diff --git a/extra/destructors/unix/unix.factor b/extra/destructors/unix/unix.factor
deleted file mode 100644
index b971ef669e..0000000000
--- a/extra/destructors/unix/unix.factor
+++ /dev/null
@@ -1,9 +0,0 @@
-USING: destructors io.windows kernel qualified ;
-QUALIFIED: unix
-IN: detructors.unix
-
-M: unix-io (handle-destructor) ( obj -- )
-    destructor-obj close drop ;
-
-
-
diff --git a/extra/destructors/windows/windows.factor b/extra/destructors/windows/windows.factor
deleted file mode 100644
index 1cb937c2eb..0000000000
--- a/extra/destructors/windows/windows.factor
+++ /dev/null
@@ -1,11 +0,0 @@
-USING: destructors io.windows kernel windows.kernel32
-windows.winsock ;
-IN: detructors.windows
-
-M: windows-io (handle-destructor) ( obj -- )
-    destructor-obj CloseHandle drop ;
-
-M: windows-io (socket-destructor) ( obj -- )
-    destructor-obj closesocket drop ;
-
-
diff --git a/extra/io/sniffer/bsd/bsd.factor b/extra/io/sniffer/bsd/bsd.factor
index 56b536cc39..4568649d23 100644
--- a/extra/io/sniffer/bsd/bsd.factor
+++ b/extra/io/sniffer/bsd/bsd.factor
@@ -7,6 +7,9 @@ sequences ;
 QUALIFIED: unix
 IN: io.sniffer.bsd
 
+M: unix-io (handle-destructor) ( obj -- )
+    destructor-obj close drop ;
+
 C-UNION: ifreq_props "sockaddr-in" "short" "int" "caddr_t" ;
 C-STRUCT: ifreq { { "char" 16 } "name" } { "ifreq_props" "props" } ;
 
diff --git a/extra/io/windows/windows.factor b/extra/io/windows/windows.factor
index 8e8c14c5c3..423783526e 100644
--- a/extra/io/windows/windows.factor
+++ b/extra/io/windows/windows.factor
@@ -10,6 +10,12 @@ TUPLE: windows-nt-io ;
 TUPLE: windows-ce-io ;
 UNION: windows-io windows-nt-io windows-ce-io ;
 
+M: windows-io (handle-destructor) ( obj -- )
+    destructor-obj CloseHandle drop ;
+
+M: windows-io (socket-destructor) ( obj -- )
+    destructor-obj closesocket drop ;
+
 M: windows-io root-directory? ( path -- ? )
     [ path-separator? ] rtrim
     dup length 2 = [