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>
