Feature #4570

[PATCH v2] io.c (rb_io_close): release GVL if possible

Added by Eric Wong over 4 years ago. Updated almost 3 years ago.

[ruby-core:35711]
Status:Closed
Priority:Normal
Assignee:Motohiro KOSAKI

Description

=begin
v2 of this change should fix issue #4558 and
be cleaner than the original proposed fixes.

Also pushed to my repo: git pull git://bogomips.org/ruby io-close-nogvl2
=end

0001-io.c-rb_io_close-release-GVL-if-possible.patch Magnifier (3.46 KB) Eric Wong, 04/12/2011 01:51 AM


Related issues

Related to Ruby trunk - Bug #4527: [PATCH] IO#close releases GVL if possible Closed 03/26/2011
Related to Ruby trunk - Bug #4558: TestSocket#test_closed_read fails after r31230 Closed 04/07/2011

Associated revisions

Revision 36932
Added by Motohiro KOSAKI almost 3 years ago

  • io.c (nogvl_close, maygvl_close, nogvl_fclose, maygvl_fclose): new functions.
  • io.c (fptr_finalize): release GVL if possible. Patched by Eric Wong. [Feature #4570]

Revision 36932
Added by Motohiro KOSAKI almost 3 years ago

  • io.c (nogvl_close, maygvl_close, nogvl_fclose, maygvl_fclose): new functions.
  • io.c (fptr_finalize): release GVL if possible. Patched by Eric Wong. [Feature #4570]

Revision 36942
Added by Motohiro KOSAKI almost 3 years ago

  • io.c (rb_io_close): notify fd close before releasing gvl.
  • io.c (fptr_finalize): modify fptr->mode before releasing gvl. remove unnecessary rb_thread_fd_close(). [Feature #4570]

Revision 36942
Added by Motohiro KOSAKI almost 3 years ago

  • io.c (rb_io_close): notify fd close before releasing gvl.
  • io.c (fptr_finalize): modify fptr->mode before releasing gvl. remove unnecessary rb_thread_fd_close(). [Feature #4570]

Revision 36943
Added by Motohiro KOSAKI almost 3 years ago

  • io.c (nogvl_close, maygvl_close, nogvl_fclose, maygvl_fclose): suppress integer <-> pointer cast warnings. [Feature #4570]

Revision 36943
Added by Motohiro KOSAKI almost 3 years ago

  • io.c (nogvl_close, maygvl_close, nogvl_fclose, maygvl_fclose): suppress integer <-> pointer cast warnings. [Feature #4570]

History

#1 Updated by Shyouhei Urabe over 3 years ago

  • Status changed from Open to Assigned

#2 Updated by Motohiro KOSAKI almost 3 years ago

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

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


  • io.c (nogvl_close, maygvl_close, nogvl_fclose, maygvl_fclose): new functions.
  • io.c (fptr_finalize): release GVL if possible. Patched by Eric Wong. [Feature #4570]

Also available in: Atom PDF