@@ -229,7 +229,8 @@ var WasiLibrary = {
229229    } 
230230    return  ret ; 
231231  } , 
232- #else
232+ #endif
233+ #if ! SYSCALLS_REQUIRE_FILESYSTEM  ||  WASM_WORKERS 
233234  // MEMFS filesystem disabled lite handling of stdout and stderr: 
234235  $printCharBuffers : [ null ,  [ ] ,  [ ] ] ,  // 1 => stdout, 2 => stderr 
235236  $printCharBuffers__internal : true , 
@@ -247,11 +248,7 @@ var WasiLibrary = {
247248      buffer . push ( curr ) ; 
248249    } 
249250  } , 
250- #endif // SYSCALLS_REQUIRE_FILESYSTEM 
251- 
252- #if SYSCALLS_REQUIRE_FILESYSTEM 
253-   fd_write__deps : [ '$doWritev' ] , 
254- #elif ( ! MINIMAL_RUNTIME  ||  EXIT_RUNTIME ) 
251+ #if ! MINIMAL_RUNTIME  ||  EXIT_RUNTIME 
255252  $flush_NO_FILESYSTEM__deps : [ '$printChar' ,  '$printCharBuffers' ] , 
256253  $flush_NO_FILESYSTEM : ( )  = >  { 
257254    // flush anything remaining in the buffers during shutdown 
@@ -261,17 +258,12 @@ var WasiLibrary = {
261258    if  ( printCharBuffers [ 1 ] . length )  printChar ( 1 ,  { { {  charCode ( "\n" )  } } } ) ; 
262259    if  ( printCharBuffers [ 2 ] . length )  printChar ( 2 ,  { { {  charCode ( "\n" )  } } } ) ; 
263260  } , 
264-   fd_write__deps :  [ '$ flush_NO_FILESYSTEM' ,   '$printChar' ] , 
265-   fd_write__postset :  ( )   = >   addAtExit ( ' flush_NO_FILESYSTEM()' ) , 
261+   $fd_write_nofs__postset :  ( )   =>   addAtExit ( ' flush_NO_FILESYSTEM()' ) , 
262+   $fd_write_nofs_deps :  [ '$printChar' ,   '$ flush_NO_FILESYSTEM' ] , 
266263#else
267-   fd_write__deps : [ '$printChar' ] , 
264+   $fd_write_nofs_deps : [ '$printChar' ] , 
268265#endif
269-   fd_write : ( fd ,  iov ,  iovcnt ,  pnum )  =>  { 
270- #if SYSCALLS_REQUIRE_FILESYSTEM 
271-     var  stream  =  SYSCALLS . getStreamFromFD ( fd ) ; 
272-     var  num  =  doWritev ( stream ,  iov ,  iovcnt ) ; 
273- #else
274-     // hack to support printf in SYSCALLS_REQUIRE_FILESYSTEM=0 
266+   $fd_write_nofs : ( fd ,  iov ,  iovcnt ,  pnum )  =>  { 
275267    var  num  =  0 ; 
276268    for  ( var  i  =  0 ;  i  <  iovcnt ;  i ++ )  { 
277269      var  ptr  =  { { {  makeGetValue ( 'iov' ,  C_STRUCTS . iovec . iov_base ,  '*' )  } } } ; 
@@ -282,10 +274,30 @@ var WasiLibrary = {
282274      } 
283275      num  +=  len ; 
284276    } 
285- #endif // SYSCALLS_REQUIRE_FILESYSTEM 
277+   } , 
278+ #endif
279+ 
280+ #if SYSCALLS_REQUIRE_FILESYSTEM 
281+   fd_write__deps : [ 
282+     '$doWritev' , 
283+ #if WASM_WORKERS 
284+     '$fd_write_nofs' , 
285+ #endif
286+   ] , 
287+   fd_write : ( fd ,  iov ,  iovcnt ,  pnum )  =>  { 
288+ #if WASM_WORKERS 
289+     if  ( ENVIRONMENT_IS_WASM_WORKER )  { 
290+       return  fd_write_nofs ( fd ,  iov ,  iovcnt ,  pnum ) ; 
291+     } 
292+ #endif // WASM_WORKERS 
293+     var  stream  =  SYSCALLS . getStreamFromFD ( fd ) ; 
294+     var  num  =  doWritev ( stream ,  iov ,  iovcnt ) ; 
286295    { { {  makeSetValue ( 'pnum' ,  0 ,  'num' ,  SIZE_TYPE )  } } } ; 
287296    return  0 ; 
288297  } , 
298+ #else
299+   fd_write : '$fd_write_nofs' , 
300+ #endif
289301
290302#if SYSCALLS_REQUIRE_FILESYSTEM 
291303  fd_pwrite__deps : [ '$doWritev' ] , 
0 commit comments