=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2018/io/ox_launch.c,v retrieving revision 1.1 retrieving revision 1.4 diff -u -p -r1.1 -r1.4 --- OpenXM_contrib2/asir2018/io/ox_launch.c 2018/09/19 05:45:08 1.1 +++ OpenXM_contrib2/asir2018/io/ox_launch.c 2019/12/14 12:34:02 1.4 @@ -44,7 +44,7 @@ * OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. - * $OpenXM$ + * $OpenXM: OpenXM_contrib2/asir2018/io/ox_launch.c,v 1.3 2019/12/13 14:40:50 fujimoto Exp $ */ #include #include @@ -52,7 +52,7 @@ #include "ca.h" #include "com.h" #include "ox.h" -#include "gc.h" +// #include "gc.h" #if defined(VISUAL) || defined(__MINGW32__) #include #include @@ -75,6 +75,7 @@ HANDLE hIntr,hReset,hKill; extern int _fileinfo; #endif +void GC_init(); static void put_log(char *); static int ox_spawn(char *,int,char *,char *); static void launch_error(char *); @@ -98,7 +99,11 @@ char *str; static FILE *logfile; if ( !logfile ) +#if defined(ANDROID) + logfile = fopen("/data/data/com.termux/files/usr/tmp/ox_log","w"); +#else logfile = fopen("/tmp/ox_log","w"); +#endif fprintf(logfile,"%s\n",str); fflush(logfile); } @@ -330,7 +335,15 @@ char *nolog; if ( bs != 4 && dup2(bs,4) != 4 ) exit(1); { -#if defined(linux) || defined(__NeXT__) || defined(ultrix) || defined(__CYGWIN__) +#if defined(ANDROID) +#include + struct rlimit rl; + + getrlimit(RLIMIT_NOFILE,&rl); + close(0); + for ( i = 5; i < rl.rlim_cur; i++ ) + close(i); +#elif defined(linux) || defined(__NeXT__) || defined(ultrix) || defined(__CYGWIN__) #include close(0); for ( i = 5; i < NOFILE; i++ )