A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Search msg.h where it is
[simgrid.git]
/
examples
/
gras_stub_generator
diff --git
a/examples/gras_stub_generator
b/examples/gras_stub_generator
index
ff8a6b6
..
e784543
100755
(executable)
--- a/
examples/gras_stub_generator
+++ b/
examples/gras_stub_generator
@@
-9,8
+9,9
@@
# under the terms of the license (GNU LGPL) which comes with this package.
use strict;
# under the terms of the license (GNU LGPL) which comes with this package.
use strict;
-use warnings;
-
+eval qq{
+ use warnings;
+}; # warnings not defined in 5.00503/sun4-solaris
sub usage {
my ($msg)=@_;
sub usage {
my ($msg)=@_;
@@
-45,7
+46,7
@@
$warn
#include <stdlib.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
-#include
<msg.h>
+#include
"msg/msg.h"
#include <gras.h>
char *gras_log=NULL;
#include <gras.h>
char *gras_log=NULL;
@@
-61,18
+62,20
@@
foreach (keys %process) {
print OUT<<EOF
int launch_$_(int argc, char **argv) {
char **myargv=argv;
print OUT<<EOF
int launch_$_(int argc, char **argv) {
char **myargv=argv;
+ int myargc=argc;
int i;
int i;
+ int retcode;
if (gras_log) {
myargv=malloc((argc+1) * sizeof(char**));
for (i=0; i<argc; i++)
myargv[i] = argv[i];
if (gras_log) {
myargv=malloc((argc+1) * sizeof(char**));
for (i=0; i<argc; i++)
myargv[i] = argv[i];
- myargv[argc++] = gras_log;
+ myargv[
my
argc++] = gras_log;
}
}
-
$_(argc,
argv);
+
retcode = $_(myargc,my
argv);
if (myargv != argv)
free(myargv);
if (myargv != argv)
free(myargv);
- return
0
;
+ return
retcode
;
}
EOF
}
EOF
@@
-84,10
+87,17
@@
print OUT <<EOF
int main (int argc,char *argv[]) {
int i,j;
int main (int argc,char *argv[]) {
int i,j;
- /*
* Save the gras-log argument
*/
+ /*
Save the gras-log argument of real command line to pass it to all processes
*/
for (i=1; i<argc; i++) {
if (!strncmp(argv[i],"--gras-log=",strlen("--gras-log="))) {
for (i=1; i<argc; i++) {
if (!strncmp(argv[i],"--gras-log=",strlen("--gras-log="))) {
- gras_log = argv[i];
+ if (gras_log) {
+ char *tmp=malloc(strlen(gras_log)+strlen(argv[i])+2);
+ sprintf(tmp,"%s %s",gras_log, argv[i]);
+ free(gras_log);
+ gras_log=tmp;
+ } else {
+ gras_log = strdup(argv[i]);
+ }
for (j=i+1; j<argc; j++) {
argv[j-1] = argv[j];
}
for (j=i+1; j<argc; j++) {
argv[j-1] = argv[j];
}
@@
-105,7
+115,7
@@
int main (int argc,char *argv[]) {
/* Simulation setup */
MSG_global_init();
MSG_set_verbosity(MSG_SILENT);
/* Simulation setup */
MSG_global_init();
MSG_set_verbosity(MSG_SILENT);
- MSG_set_channel_number(
GRAS_MAX_CHANNEL);
+ MSG_set_channel_number(
10); // GRAS_MAX_CHANNEL hardcoded since Alvin killed its definition
MSG_create_environment(argv[1]);
/* Application deployment */
MSG_create_environment(argv[1]);
/* Application deployment */
@@
-121,6
+131,10
@@
print OUT <<EOF
/* Run the simulation */
MSG_main();
/* Run the simulation */
MSG_main();
+ /* cleanup the place */
+ MSG_clean();
+ if (gras_log)
+ free(gras_log);
return 0;
}
$warn
return 0;
}
$warn