]> git.llucax.com Git - z.facultad/75.00/informe.git/blobdiff - source/solucion.rst
Corregir orden de fflush()/fork()
[z.facultad/75.00/informe.git] / source / solucion.rst
index 32a94bd1fab2ab9682f7e2617797f8910a656666..2c3657885eecad70177c122a9b849ed53789124f 100644 (file)
@@ -1431,8 +1431,8 @@ siguientes [#solforkerr]_::
 
    function collect() is
       stop_the_world()
 
    function collect() is
       stop_the_world()
-      child_pid = fork()
       fflush(null) // evita que se duplique la salida de los FILE* abiertos
       fflush(null) // evita que se duplique la salida de los FILE* abiertos
+      child_pid = fork()
       if child_pid is 0 // proceso hijo
          mark_phase()
          exit(0) // termina el proceso hijo
       if child_pid is 0 // proceso hijo
          mark_phase()
          exit(0) // termina el proceso hijo
@@ -1727,8 +1727,8 @@ necesarios si no se utiliza la opciĆ³n ``eager_alloc``::
          else if early                 // Agregado
             return                     //
       stop_the_world()
          else if early                 // Agregado
             return                     //
       stop_the_world()
-      child_pid = fork()
       fflush(null)
       fflush(null)
+      child_pid = fork()
       if child_pid is 0 // proceso hijo
          mark_phase()
          exit(0)
       if child_pid is 0 // proceso hijo
          mark_phase()
          exit(0)