27 lines
		
	
	
		
			874 B
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			874 B
		
	
	
	
		
			Factor
		
	
	
USING: alien.c-types alien.syntax io io.encodings.utf16n
 | 
						|
io.encodings.utf8 io.files kernel namespaces sequences system threads
 | 
						|
unix.utilities ;
 | 
						|
IN: native-thread-test
 | 
						|
 | 
						|
FUNCTION: void* start_standalone_factor_in_new_thread ( int argc, char** argv ) ;
 | 
						|
 | 
						|
HOOK: native-string-encoding os ( -- encoding )
 | 
						|
M: windows native-string-encoding utf16n ;
 | 
						|
M: unix native-string-encoding utf8 ;
 | 
						|
 | 
						|
: start-vm-in-os-thread ( args -- threadhandle )
 | 
						|
    \ vm get-global prefix 
 | 
						|
    [ length ] [ native-string-encoding strings>alien ] bi 
 | 
						|
     start_standalone_factor_in_new_thread ;
 | 
						|
 | 
						|
: start-tetris-in-os-thread ( -- )
 | 
						|
     { "-run=tetris" } start-vm-in-os-thread drop ;
 | 
						|
 | 
						|
: start-testthread-in-os-thread ( -- )
 | 
						|
     { "-run=native-thread-test" } start-vm-in-os-thread drop ;
 | 
						|
 
 | 
						|
: testthread ( -- )
 | 
						|
     "/tmp/hello" utf8 [ "hello!\n" write ] with-file-appender 5000000 sleep ;
 | 
						|
 | 
						|
MAIN: testthread
 |