# Review: Fix for TCPSocket.new

**URL:** <https://www.ruby-forum.com/t/review-fix-for-tcpsocket-new/166927>\
**Category:** IronRuby\
**Created:** [April 30, 2009, 10:45pm UTC](https://www.ruby-forum.com/t/review-fix-for-tcpsocket-new/166927 "2009-04-30T22:45:40Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Shri\_B](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/898d66/32.png) [@Shri\_B](https://www.ruby-forum.com/u/Shri_B)\
**Post date:** [April 30, 2009, 10:45pm UTC](https://www.ruby-forum.com/t/review-fix-for-tcpsocket-new/166927/1 "2009-04-30T22:45:40Z")

</div>

> <https://github.com/shri-zz/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755>

With the memcache-client gem installed, the Rails tests fail to startup  
as  
memcache does TCPSocket.new(addr, port, 0) and we were not handling the  
third argument

Files changed:

- 

Merlin/External.LCA\_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/library/socket/tcpsocket/new\_tags.txt[http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-0](http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-0)  
\*  
Merlin/External.LCA\_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/library/socket/tcpsocket/open\_tags.txt[http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-1](http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-1)  
\*  
Merlin/External.LCA\_RESTRICTED/Languages/IronRuby/mspec/rubyspec/library/socket/fixtures/classes.rb[http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-2](http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-2)  
\*  
Merlin/External.LCA\_RESTRICTED/Languages/IronRuby/mspec/rubyspec/library/socket/tcpsocket/shared/new.rb[http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-3](http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-3)  
\*  
Merlin/Main/Languages/Ruby/ClassInitGenerator/ClassInitGenerator.csproj[http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-4](http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-4)  
\*  
Merlin/Main/Languages/Ruby/Libraries.LCA\_RESTRICTED/Initializers.Generated.cs[http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-5](http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-5)  
\*  
Merlin/Main/Languages/Ruby/Libraries.LCA\_RESTRICTED/socket/TCPSocket.cs[http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-6](http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-6)  
Thanks,  
Shri

---

<div class="post-metadata">

**Author:** ![Shri\_B](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/898d66/32.png) [@Shri\_B](https://www.ruby-forum.com/u/Shri_B)\
**Post date:** [May 13, 2009, 11:56pm UTC](https://www.ruby-forum.com/t/review-fix-for-tcpsocket-new/166927/2 "2009-05-13T23:56:06Z")

</div>

This looks mostly good. My only comment is that I would suggest  
combining the it “allows local\_port to be 0 when local\_host is not  
specified” do and it “requires local\_port to be 0 when local\_host is not  
specified” specs, since, IMHO, the requirement/allowance is different  
views on the same facet of behavior.

JD

…there is no try

From: Shri B.  
Sent: Thursday, April 30, 2009 1:45 PM  
To: removed\_email\_address@domain.invalid  
Cc: IronRuby External Code R.  
Subject: Review: Fix for TCPSocket.new

> <https://github.com/shri-zz/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755>

With the memcache-client gem installed, the Rails tests fail to startup  
as  
memcache does TCPSocket.new(addr, port, 0) and we were not handling the  
third argument

Files changed:

- 

Merlin/External.LCA\_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/library/socket/tcpsocket/new\_tags.txt[http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-0](http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-0)  
\*  
Merlin/External.LCA\_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/library/socket/tcpsocket/open\_tags.txt[http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-1](http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-1)  
\*  
Merlin/External.LCA\_RESTRICTED/Languages/IronRuby/mspec/rubyspec/library/socket/fixtures/classes.rb[http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-2](http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-2)  
\*  
Merlin/External.LCA\_RESTRICTED/Languages/IronRuby/mspec/rubyspec/library/socket/tcpsocket/shared/new.rb[http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-3](http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-3)  
\*  
Merlin/Main/Languages/Ruby/ClassInitGenerator/ClassInitGenerator.csproj[http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-4](http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-4)  
\*  
Merlin/Main/Languages/Ruby/Libraries.LCA\_RESTRICTED/Initializers.Generated.cs[http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-5](http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-5)  
\*  
Merlin/Main/Languages/Ruby/Libraries.LCA\_RESTRICTED/socket/TCPSocket.cs[http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-6](http://github.com/shri/ironruby/commit/8c00011ba4260314e9ebc70ec317d1c49eb8d755#diff-6)  
Thanks,  
Shri
