Граф коммитов

43433 Коммитов

Автор SHA1 Сообщение Дата
nobu 639bfd6d9c thread.c: GET_THREAD once in rb_thread_atfork
* thread.c (rb_thread_atfork_internal): move th to an argument.
* thread.c (rb_thread_atfork): do not repeat GET_THREAD().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-09 01:52:01 +00:00
nobu a46df859cc thread.c: clear atfork functions
* thread.c (rb_thread_atfork, rb_thread_atfork_before_exec): do
  nothing unless working fork is available.
* thread_sync.c (rb_mutex_abandon_all): define only if working
  fork is available.
* thread_sync.c (rb_mutex_abandon_keeping_mutexes): ditto.
* thread_sync.c (rb_mutex_abandon_locking_mutex): ditto.
* thread_win32.c (gvl_init): never used.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-09 01:46:37 +00:00
nobu e6709f0a62 openssl/extconf.rb: NO SSL macros first
* ext/openssl/extconf.rb: check OPENSSL_NO_SSL{2,3} macros before
  checking related functions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-09 00:05:33 +00:00
nobu abfc0b18d5 webrick/utils.rb: suppress messages
* test/webrick/utils.rb (TestWEBrick#start_server): suppress
  progress messages from WEBrick::Utils#create_self_signed_cert.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54958 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-09 00:05:32 +00:00
nobu 4a46404a71 test_ssl_server.rb: assert_self_signed_cert
* test/webrick/test_ssl_server.rb (assert_self_signed_cert):
  extract common assertion.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-09 00:05:30 +00:00
usa 2cb362b51f * include/ruby/{defines,ruby}.h: need to define function attributes
alternatives in defines.h instead of ruby.h, because they are used
  in oniguruma.h and the header used without including ruby.h at
  encoding library sources.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-08 22:20:05 +00:00
usa a8e1070d9d * include/ruby/ruby.h (CONSTFUNC, PUREFUNC): fixed build errors on
non-gcc build environments introduced at r54952.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-08 21:31:23 +00:00
naruse b3935f179b * gc.c (rb_gc_unprotect_logging): throw rb_memerror when it cannot
allocate memory. This is pointed out by Facebook's Infer.

* gc.c (gc_prof_setup_new_record): ditto.

* regparse.c (parse_regexp): ditto.

* util.c (MALLOC): use xmalloc and xfree like above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-08 17:52:38 +00:00
svn 6db71fb11a * 2016-05-09
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-08 17:44:52 +00:00
naruse 28f5e12c24 * configure.in: check function attirbute const and pure,
and define CONSTFUNC and PUREFUNC if available.
  Note that I don't add those options as default because
  it still shows many false-positive (it seems not to consider
  longjmp).

* vm_eval.c (stack_check): get rb_thread_t* as an argument
  to avoid duplicate call of GET_THREAD().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-08 17:44:51 +00:00
kazu 94419c16dc fix typos [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-08 14:36:18 +00:00
naruse 93767f7a86 * ext/openssl/extconf.rb: asume it doesn't have SSLv2 related
functions when OPENSSL_NO_SSL2 is defined.
  Usually openssl's header and the library (libssl) have the same
  set of functions, but on some environment the library has functions
  whose headers doesn't declare. (openssl/opensslconf.h and libsso.so
  aren't be synchronized)
  To detect such case explicitly check feature macro and remove
  related functions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-08 12:10:22 +00:00
nobu 6cd2c9057a win32ole_error.h: add attributes
* ext/win32ole/win32ole_error.h (ole_raise): add attributes,
  NORETURN and PRINTF_ARGS.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-08 09:59:37 +00:00
nobu d7d64d9147 objspace_dump.c: fix format
* ext/objspace/objspace_dump.c (dump_append_string_content),
  (dump_object): fix the format specifiers.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-08 09:59:36 +00:00
nobu f0355ae707 file.c: home dir fall back
* file.c (rb_home_dir_of): return the default home path if the
  user name is the current user name, on platforms where struct
  pwd is not supported.  a temporary measure against
  [Bug #12226].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-08 09:51:34 +00:00
nobu 65bbd0884c intern.h: suppress warnings
* include/ruby/intern.h (rb_disable_super, rb_enable_super):
  remove NORETURN.  these do nothing but just return.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-08 03:21:28 +00:00
naruse f2535e1467 * configure.in: add -Wsuggest-attribute=format and suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-08 00:55:29 +00:00
svn 4e0e72195d * 2016-05-08
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-08 00:55:28 +00:00
naruse a6c8e8d15b * configure.in: add -Wsuggest-attribute=noreturn and suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-08 00:55:28 +00:00
naruse 644c36e9a6 * configure.in: add -Werror=implicit-int to avoid missing type of
function declaration.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-08 00:55:28 +00:00
hsbt a6e805f75e * lib/webrick/ssl.rb: Accept string value for SSLCertName. It is used
to invoke ssl server with command line.
  [fix GH-1329] Patch by @kerlin
* test/webrick/test_ssl_server.rb: Added test for GH-1329

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-07 13:37:18 +00:00
svn d8e22fa1dd * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-07 12:55:18 +00:00
hsbt b39d4eac28 * test/webrick/test_ssl_server.rb: Added basic test for `webrick/ssl`
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-07 12:55:17 +00:00
nobu ed5b985650 random.c: optimize int_pair_to_real_inclusive
* random.c (int_pair_to_real_inclusive): optimize to multiply
  without Bignum.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-07 07:22:14 +00:00
nobu 091d88ab4b random.c: split random_int32
* random.c (random_int32): split the cases of rb_random_t and
  other objects.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-07 06:21:00 +00:00
nobu 1a696e35c8 random.c: unnecessary declarations
* random.c (random_ulong_limited, random_ulong_limited_big):
  remove unnecessary extern declarations.  rb_num_negative_p is
  declared in internal.h now.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-07 02:59:32 +00:00
svn f4edece0e1 * 2016-05-07
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-06 22:58:04 +00:00
nobu 48ed66868c process.c: argument types over conversion
* process.c (rb_exec_getargs): honor the expected argument types
  over the conversion method.  the basic language functionality
  should be robust.  [ruby-core:75388] [Bug #12355]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-06 22:58:03 +00:00
kazu cc22facc9c fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-06 14:30:01 +00:00
nobu c0f920093e random.c: fill_random_bytes_syscall function
* random.c (fill_random_bytes_syscall): turned into a static
  function, to be inlined probably, so that it is unavailable if
  it is a preprocessor macro.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-06 07:18:34 +00:00
nobu a331eeb529 random.c: refactor
* random.c (rand_random, rb_f_rand): refactor, split condition
  expressions, and return in the precedence.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-06 07:18:33 +00:00
nobu 3377db6b32 random.c: use rb_check_to_int
* random.c (rand_range, rand_random): use rb_check_to_int instead
  of rb_check_to_integer with the same conversion method.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-06 06:52:37 +00:00
nobu 0e303494d0 random.c: prefer rb_check_arity
* random.c: use rb_check_arity instead of rb_scan_args for simple
  optional arguments.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-06 06:52:36 +00:00
nobu c92c82184c random.c: sipseed_keys_t
* random.c (sipseed): separate type of keys to reduce use of the
  magic number.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-06 06:52:35 +00:00
nobu 72c4fc7283 random.c: default seed mark
* random.c (Init_Random_default): since seed is marked by
  random_mark, no needs to mark itself as a global variable.
  allocate Random instance before making the seed value, to get
  rid of the potential risk of GC during the allocation.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-06 06:29:56 +00:00
nobu 80c9b6646e random.c: return value is not GCed
* random.c (rand_init): since seed is the return value, no needs
  to be volatile to prevent from GC.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-06 06:29:55 +00:00
nobu 0c13d23d08 enum.c: examples of Enumerable#detect [ci skip]
* enum.c (enum_find): [DOC] add more examples to the documentation
  of Enumerable#detect, to show that it equals to Enumerable#find.
  [Fix GH-1340]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-05 23:16:28 +00:00
svn d6c3079eae * 2016-05-06
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-05 15:00:06 +00:00
nobu e1ce20cf9b random.c: use uint32_t
* random.c (struct MT, next_state): use uint32_t for the state
  vector.

* random.c (init_by_array, rand_init): ditto for initializing
  keys.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-05 15:00:05 +00:00
yui-knk a22221caca * test/ruby/test_complexrational.rb: Remove duplicated raise.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-05 09:06:39 +00:00
nobu 6112b29003 proc.c: no temporary args array
* proc.c (bmcall): method proc is always lambda, args is the array
  which is made from argc and argv.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-05 07:27:10 +00:00
nobu cfc29cf289 proc.c: no unnecessary temporary array
* proc.c (bmcall): get rid of making temporary single element
  array.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-05 07:18:14 +00:00
nobu 5c19519e8c proc.c: suppress a warning
* proc.c (call_method_data_safe): suppress clobbered warning by
  old gcc.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-05 07:11:34 +00:00
yui-knk deca1d8007 * string.c (rb_str_sub): Fix a special match variable name.
[ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-05 05:39:35 +00:00
nobu 84f94652b0 use TH_JUMP_TAG
* vm_eval.c (rb_eval_cmd, rb_catch_obj): use TH_JUMP_TAG with the
  same rb_thread_t used for TH_PUSH_TAG, instead of JUMP_TAG with
  the current thread global variable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-05 03:22:20 +00:00
svn 77421bcc58 * 2016-05-05
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-05 01:49:36 +00:00
nobu 4a066896af random.c: use arc4random_buf
* random.c (fill_random_bytes_syscall): use arc4random_buf if
  available.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-05 01:49:35 +00:00
yui-knk 903161e0af numeric.c: Remove prototype declarations to internal.h
* numeric.c (fix_plus): Remove rb_nucomp_add prototype
  declaration.

* numeric.c (fix_mul): Remove rb_nucomp_mul prototype
  declaration.

* internal.h (rb_nucomp_add, rb_nucomp_mul): add prototype
  declarations.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-04 14:12:10 +00:00
nobu 09550d14b6 proc.c: separate rb_method_call_with_block
* proc.c (rb_method_call_with_block): separate the cases with and
  without tag for optimization.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-04 10:10:07 +00:00
nobu 759773bf0e proc.c: passed_block
* proc.c (passed_block): extract conversion from passed proc value
  to rb_block_t pointer.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-04 10:10:06 +00:00