Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 May 1999 00:41:32 +0200
From:      Jeremy Lea <reg@shale.csir.co.za>
To:        Satoshi - Ports Wraith - Asami <asami@FreeBSD.ORG>
Cc:        cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG
Subject:   Re: cvs commit: ports/devel/ORBit Makefile ports/devel/ORBit/files md5
Message-ID:  <19990507004132.B35351@shale.csir.co.za>
In-Reply-To: <199905060801.BAA56081@silvia.hip.berkeley.edu>; from Satoshi Asami on Thu, May 06, 1999 at 01:01:20AM -0700
References:  <199905060717.AAA54140@freefall.freebsd.org> <199905060732.AAA54249@silvia.hip.berkeley.edu> <19990506094859.B356@shale.csir.co.za> <199905060801.BAA56081@silvia.hip.berkeley.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

On Thu, May 06, 1999 at 01:01:20AM -0700, Satoshi Asami wrote:
>  * I've seen this a number of times, and it's also hitting some other ports
>  * which are using orbit-idl...  It seems to be caused by orbit-idl not
>  * flushing it's output, or gmake not waiting for it to finish before
>  * starting the next target.  I'm not sure.  I fixed the above by
>  * reordering the .o's so that the generated ones are built last.
> 
> Hmm.  I thought such things are not supposed to happen.  A program
> exiting should flush all its output, no?  (Unless orbit-idl forks
> another process....)
> 
> Have you taken a look at orbit-idl's source?

Now I have...  orbit-idl was doing a file = popen("formatter > file"),
to support a backend processor (indent) or plain 'cat', and then
fclose(file).

Bad ORBit! Go sit in the corner...

Attached is a patch-af which should be added.  I'll send-pr this, and
file an ORBit bug.
 
  -Jeremy

-- 
  |    ------------------------------------------------------
--+--   "Maybe tomorrow will be better than today,
  |          or maybe it will not come at all..." - Pam Thum
  |    ------------------------------------------------------

--- src/idl-compiler/orbit-c-backend.c.orig	Fri May  7 00:24:42 1999
+++ src/idl-compiler/orbit-c-backend.c	Fri May  7 00:25:52 1999
@@ -44,7 +44,7 @@
     }
     orbit_cbe_write_header(curfile, namespace, tree);
     fflush(curfile);
-    fclose(curfile);
+    pclose(curfile);
   }
   g_string_sprintf(curfile_name, "%s.h", base_filename);
   hdrname = g_strdup(g_basename(curfile_name->str));
@@ -61,7 +61,7 @@
     }
     orbit_cbe_write_common(curfile, namespace, tree, hdrname);
     fflush(curfile);
-    fclose(curfile);
+    pclose(curfile);
   }
 
   if(!disable_stubs) {
@@ -76,7 +76,7 @@
     }
     orbit_cbe_write_stubs(curfile, namespace, tree, hdrname);
     fflush(curfile);
-    fclose(curfile);
+    pclose(curfile);
   }
 
   if(!disable_skels) {
@@ -91,7 +91,7 @@
     }
     orbit_cbe_write_skeletons(curfile, namespace, tree, hdrname);
     fflush(curfile);
-    fclose(curfile);
+    pclose(curfile);
   }
 
   if(enable_skeleton_impl) {
@@ -106,7 +106,7 @@
     }
     orbit_cbe_write_skelimpl(curfile, namespace, tree, hdrname);
     fflush(curfile);
-    fclose(curfile);
+    pclose(curfile);
   }
 
   g_string_free(curfile_name, TRUE);


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990507004132.B35351>