mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
share ruby_null_device
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
d8c19c3e6e
commit
f0137f05e1
2 changed files with 5 additions and 10 deletions
4
file.c
4
file.c
|
@ -6126,7 +6126,7 @@ define_filetest_function(const char *name, VALUE (*func)(ANYARGS), int argc)
|
||||||
rb_define_singleton_method(rb_cFile, name, func, argc);
|
rb_define_singleton_method(rb_cFile, name, func, argc);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char null_device[] =
|
const char ruby_null_device[] =
|
||||||
#if defined DOSISH
|
#if defined DOSISH
|
||||||
"NUL"
|
"NUL"
|
||||||
#elif defined AMIGA || defined __amigaos__
|
#elif defined AMIGA || defined __amigaos__
|
||||||
|
@ -6368,7 +6368,7 @@ Init_File(void)
|
||||||
rb_define_const(rb_mFConst, "LOCK_NB", INT2FIX(LOCK_NB));
|
rb_define_const(rb_mFConst, "LOCK_NB", INT2FIX(LOCK_NB));
|
||||||
|
|
||||||
/* Name of the null device */
|
/* Name of the null device */
|
||||||
rb_define_const(rb_mFConst, "NULL", rb_fstring_cstr(null_device));
|
rb_define_const(rb_mFConst, "NULL", rb_fstring_cstr(ruby_null_device));
|
||||||
|
|
||||||
rb_define_method(rb_cFile, "path", rb_file_path, 0);
|
rb_define_method(rb_cFile, "path", rb_file_path, 0);
|
||||||
rb_define_method(rb_cFile, "to_path", rb_file_path, 0);
|
rb_define_method(rb_cFile, "to_path", rb_file_path, 0);
|
||||||
|
|
11
mjit.c
11
mjit.c
|
@ -198,13 +198,13 @@ static char *header_file;
|
||||||
static char *pch_file;
|
static char *pch_file;
|
||||||
/* Path of "/tmp", which can be changed to $TMP in MinGW. */
|
/* Path of "/tmp", which can be changed to $TMP in MinGW. */
|
||||||
static char *tmp_dir;
|
static char *tmp_dir;
|
||||||
/* Portable /dev/null, fetched from file.c */
|
|
||||||
static char *null_device;
|
|
||||||
/* Hash like { 1 => true, 2 => true, ... } whose keys are valid `class_serial`s.
|
/* Hash like { 1 => true, 2 => true, ... } whose keys are valid `class_serial`s.
|
||||||
This is used to invalidate obsoleted CALL_CACHE. */
|
This is used to invalidate obsoleted CALL_CACHE. */
|
||||||
static VALUE valid_class_serials;
|
static VALUE valid_class_serials;
|
||||||
/* Ruby level interface module. */
|
/* Ruby level interface module. */
|
||||||
VALUE rb_mMJIT;
|
VALUE rb_mMJIT;
|
||||||
|
/* Portable /dev/null, defined in file.c */
|
||||||
|
extern const char *ruby_null_device;
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
/* Linker option to enable libruby in the build directory. */
|
/* Linker option to enable libruby in the build directory. */
|
||||||
|
@ -323,7 +323,7 @@ start_process(const char *path, char *const *argv)
|
||||||
#else
|
#else
|
||||||
{
|
{
|
||||||
/* Not calling IO functions between fork and exec for safety */
|
/* Not calling IO functions between fork and exec for safety */
|
||||||
FILE *f = fopen(null_device, "w");
|
FILE *f = fopen(ruby_null_device, "w");
|
||||||
int dev_null = fileno(f);
|
int dev_null = fileno(f);
|
||||||
fclose(f);
|
fclose(f);
|
||||||
|
|
||||||
|
@ -1228,10 +1228,6 @@ mjit_init(struct mjit_options *opts)
|
||||||
else {
|
else {
|
||||||
tmp_dir = get_string("/tmp");
|
tmp_dir = get_string("/tmp");
|
||||||
}
|
}
|
||||||
{
|
|
||||||
VALUE file_null = rb_const_get(rb_cFile, rb_intern("NULL"));
|
|
||||||
null_device = get_string(StringValuePtr(file_null));
|
|
||||||
}
|
|
||||||
|
|
||||||
init_header_filename();
|
init_header_filename();
|
||||||
pch_file = get_uniq_filename(0, MJIT_TMP_PREFIX "h", ".h.gch");
|
pch_file = get_uniq_filename(0, MJIT_TMP_PREFIX "h", ".h.gch");
|
||||||
|
@ -1316,7 +1312,6 @@ mjit_finish(void)
|
||||||
remove(pch_file);
|
remove(pch_file);
|
||||||
|
|
||||||
xfree(tmp_dir); tmp_dir = NULL;
|
xfree(tmp_dir); tmp_dir = NULL;
|
||||||
xfree(null_device); null_device = NULL;
|
|
||||||
xfree(pch_file); pch_file = NULL;
|
xfree(pch_file); pch_file = NULL;
|
||||||
xfree(header_file); header_file = NULL;
|
xfree(header_file); header_file = NULL;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue