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 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 = [