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