merge revision(s) r40269:

	* struct.c (anonymous_struct, new_struct, setup_struct): split
	  make_struct() for each purpose.
	  make_struct() for each purpose.

	* error.c: Capture EGAIN, EWOULDBLOCK, EINPROGRESS exceptions and


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