Project

General

Profile

Backport #8101

Backport fix for time.send(:initialize) reinitializing and modifying value

Added by headius (Charles Nutter) over 6 years ago. Updated almost 6 years ago.

Status:
Closed
Priority:
Normal
[ruby-core:53442]

Description

I filed https://bugs.ruby-lang.org/issues/8099 to get Time to prevent reinitialization, and nobu fixed it in r39766. I am requesting that it be backported to 1.9.3 along with tests I will be adding shortly.

Associated revisions

Revision 08c3e8ed
Added by nagachika (Tomoyuki Chikanaga) over 6 years ago

merge revision(s) 39766,39769: [Backport #8101]

    * time.c (GetTimeval): check if already initialized instance.

    * time.c (GetNewTimeval): check if newly created instance.

    * time.c (time_init_0, time_init_1, time_init_copy, time_mload): must
      be newly created instance.  [ruby-core:53436] [Bug #8099]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@40282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

Revision 40282
Added by nagachika (Tomoyuki Chikanaga) over 6 years ago

merge revision(s) 39766,39769: [Backport #8101]

* time.c (GetTimeval): check if already initialized instance.

* time.c (GetNewTimeval): check if newly created instance.

* time.c (time_init_0, time_init_1, time_init_copy, time_mload): must
  be newly created instance.  [ruby-core:53436] [Bug #8099]

Revision 9d5681ad
Added by usa (Usaku NAKAMURA) over 6 years ago

merge revision(s) 39766,39769: [Backport #8101]

    * time.c (GetTimeval): check if already initialized instance.

    * time.c (GetNewTimeval): check if newly created instance.

    * time.c (time_init_0, time_init_1, time_init_copy, time_mload): must
      be newly created instance.  [ruby-core:53436] [Bug #8099]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@40711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

Revision 073f93d7
Added by nagachika (Tomoyuki Chikanaga) almost 6 years ago

merge revision(s) r42456: [Backport #8101]

    * time.c (get_timeval, get_new_timeval): use rb_obj_class()
      instead of CLASS_OF() because CLASS_OF() may return
      a singleton class.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

Revision 44844
Added by nagachika (Tomoyuki Chikanaga) almost 6 years ago

merge revision(s) r42456: [Backport #8101]

* time.c (get_timeval, get_new_timeval): use rb_obj_class()
  instead of CLASS_OF() because CLASS_OF() may return
  a singleton class.

History

Updated by headius (Charles Nutter) over 6 years ago

Nevermind about additional tests...I see nobu did add one. So I'd just like to backport that commit to 1.9.3.

Updated by usa (Usaku NAKAMURA) over 6 years ago

  • Status changed from Open to Assigned
  • Assignee set to usa (Usaku NAKAMURA)
#3

Updated by usa (Usaku NAKAMURA) over 6 years ago

  • Project changed from Backport193 to Backport200
  • Assignee changed from usa (Usaku NAKAMURA) to nagachika (Tomoyuki Chikanaga)

Seems to be backported to 2.0.0 first.

Updated by nagachika (Tomoyuki Chikanaga) over 6 years ago

Sorry for my late response. I'll merge r39766 and r39769. r39769 delete broken test by denial of re-initialize Time.

#5

Updated by nagachika (Tomoyuki Chikanaga) over 6 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

This issue was solved with changeset r40282.
Charles, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


merge revision(s) 39766,39769: [Backport #8101]

* time.c (GetTimeval): check if already initialized instance.

* time.c (GetNewTimeval): check if newly created instance.

* time.c (time_init_0, time_init_1, time_init_copy, time_mload): must
  be newly created instance.  [ruby-core:53436] [Bug #8099]
#6

Updated by nagachika (Tomoyuki Chikanaga) over 6 years ago

  • Project changed from Backport200 to Backport193
  • Status changed from Closed to Assigned
  • Assignee changed from nagachika (Tomoyuki Chikanaga) to usa (Usaku NAKAMURA)
#7

Updated by usa (Usaku NAKAMURA) over 6 years ago

  • Status changed from Assigned to Closed

This issue was solved with changeset r40711.
Charles, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


merge revision(s) 39766,39769: [Backport #8101]

* time.c (GetTimeval): check if already initialized instance.

* time.c (GetNewTimeval): check if newly created instance.

* time.c (time_init_0, time_init_1, time_init_copy, time_mload): must
  be newly created instance.  [ruby-core:53436] [Bug #8099]
#8

Updated by ktsj (Kazuki Tsujimoto) over 6 years ago

  • Project changed from Backport193 to Backport200
  • Status changed from Closed to Assigned
  • Assignee changed from usa (Usaku NAKAMURA) to nagachika (Tomoyuki Chikanaga)

r42456 is related to r39766, so please backport it, too.

Updated by nagachika (Tomoyuki Chikanaga) almost 6 years ago

  • Status changed from Assigned to Closed

Applied in changeset r44844.


merge revision(s) r42456: [Backport #8101]

* time.c (get_timeval, get_new_timeval): use rb_obj_class()
  instead of CLASS_OF() because CLASS_OF() may return
  a singleton class.

Also available in: Atom PDF