529 static int fork_and_exec(char *cmd);
530
531 // Call ::exit() on all platforms but Windows
532 static void exit(int num);
533
534 // Terminate the VM, but don't exit the process
535 static void shutdown();
536
537 // Terminate with an error. Default is to generate a core file on platforms
538 // that support such things. This calls shutdown() and then aborts.
539 static void abort(bool dump_core, void *siginfo, const void *context);
540 static void abort(bool dump_core = true);
541
542 // Die immediately, no exit hook, no abort hook, no cleanup.
543 static void die();
544
545 // File i/o operations
546 static const int default_file_open_flags();
547 static int open(const char *path, int oflag, int mode);
548 static FILE* open(int fd, const char* mode);
549 static int close(int fd);
550 static jlong lseek(int fd, jlong offset, int whence);
551 static char* native_path(char *path);
552 static int ftruncate(int fd, jlong length);
553 static int fsync(int fd);
554 static int available(int fd, jlong *bytes);
555 static int get_fileno(FILE* fp);
556 static void flockfile(FILE* fp);
557 static void funlockfile(FILE* fp);
558
559 static int compare_file_modified_times(const char* file1, const char* file2);
560
561 //File i/o operations
562
563 static size_t read(int fd, void *buf, unsigned int nBytes);
564 static size_t read_at(int fd, void *buf, unsigned int nBytes, jlong offset);
565 static size_t restartable_read(int fd, void *buf, unsigned int nBytes);
566 static size_t write(int fd, const void *buf, unsigned int nBytes);
567
|
529 static int fork_and_exec(char *cmd);
530
531 // Call ::exit() on all platforms but Windows
532 static void exit(int num);
533
534 // Terminate the VM, but don't exit the process
535 static void shutdown();
536
537 // Terminate with an error. Default is to generate a core file on platforms
538 // that support such things. This calls shutdown() and then aborts.
539 static void abort(bool dump_core, void *siginfo, const void *context);
540 static void abort(bool dump_core = true);
541
542 // Die immediately, no exit hook, no abort hook, no cleanup.
543 static void die();
544
545 // File i/o operations
546 static const int default_file_open_flags();
547 static int open(const char *path, int oflag, int mode);
548 static FILE* open(int fd, const char* mode);
549 static FILE* fopen(const char* path, const char* mode);
550 static int close(int fd);
551 static jlong lseek(int fd, jlong offset, int whence);
552 static char* native_path(char *path);
553 static int ftruncate(int fd, jlong length);
554 static int fsync(int fd);
555 static int available(int fd, jlong *bytes);
556 static int get_fileno(FILE* fp);
557 static void flockfile(FILE* fp);
558 static void funlockfile(FILE* fp);
559
560 static int compare_file_modified_times(const char* file1, const char* file2);
561
562 //File i/o operations
563
564 static size_t read(int fd, void *buf, unsigned int nBytes);
565 static size_t read_at(int fd, void *buf, unsigned int nBytes, jlong offset);
566 static size_t restartable_read(int fd, void *buf, unsigned int nBytes);
567 static size_t write(int fd, const void *buf, unsigned int nBytes);
568
|