Move platform-specific destructor code out of extra/destructors

release
U-C4\Administrator 2007-10-15 16:19:50 -05:00
parent ceba5efb1f
commit a800031a32
5 changed files with 9 additions and 24 deletions

View File

@ -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

View File

@ -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 ;

View File

@ -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 ;

View File

@ -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" } ;

View File

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