[#995] Mathn crashes the interpreter on PPC — Dave Thomas <dave@...>
The following code crashes the interpreter on my Powerbook:
4 messages
2003/05/01
[#1004] irb doesn't work, because tempfile doesn't work — Dave Thomas <dave@...>
Try
7 messages
2003/05/02
[#1005] Re: irb doesn't work, because tempfile doesn't work
— matz@... (Yukihiro Matsumoto)
2003/05/02
Hi,
[#1018] Re: ext/syck problems — why the lucky stiff <ruby-core@...>
U.Nakamura (usa@osb.att.ne.jp) wrote:
8 messages
2003/05/13
[#1037] ping.rb — Dave Thomas <dave@...>
On my Mac OSX,
15 messages
2003/05/14
[#1039] Re: ping.rb
— Ryan Davis <ryand@...>
2003/05/15
[#1040] Re: ping.rb
— Dave Thomas <dave@...>
2003/05/15
Ryan Davis wrote:
[#1042] Re: ping.rb
— nobu.nokada@...
2003/05/15
Hi,
[#1043] Re: ping.rb
— Dave Thomas <dave@...>
2003/05/15
nobu.nokada@softhome.net wrote:
[#1057] Fwd: ping.rb — "J.Herre" <jlst@...>
7 messages
2003/05/16
[#1066] YAML problem — Tanaka Akira <akr@...17n.org>
I found a problem with yaml.
12 messages
2003/05/22
[#1067] Re: YAML problem
— "NAKAMURA, Hiroshi" <nahi@...>
2003/05/22
Hi,
[#1068] Re: YAML problem
— why the lucky stiff <ruby-core@...>
2003/05/22
Concerning error from:
[#1069] Re: YAML problem
— Tanaka Akira <akr@...17n.org>
2003/05/22
In article <20030522064450.GA14175@rysa.inetz.com>,
[#1077] terminated object / invalid inspect_tbl — ts <decoux@...>
10 messages
2003/05/26
[#1078] Re: [1.8] terminated object / invalid inspect_tbl
— nobu.nokada@...
2003/05/26
Hi,
[#1079] Re: [1.8] terminated object / invalid inspect_tbl
— ts <decoux@...>
2003/05/26
>>>>> "n" == nobu nokada <nobu.nokada@softhome.net> writes:
[#1080] Re: [1.8] terminated object / invalid inspect_tbl
— nobu.nokada@...
2003/05/26
Hi,
[#1081] Re: [1.8] terminated object / invalid inspect_tbl
— ts <decoux@...>
2003/05/26
>>>>> "n" == nobu nokada <nobu.nokada@softhome.net> writes:
[#1085] Re: [1.8] terminated object / invalid inspect_tbl
— nobu.nokada@...
2003/05/26
Hi,
[#1082] Possible problem with mkmf under Darwin — Dave Thomas <dave@...>
I've been having fun getting readline support to work on OSX. My latest
7 messages
2003/05/26
[#1094] Re: [ruby-cvs] ruby, ruby/lib: * eval.c (ev_const_defined, ev_const_get), variable.c — Dave Thomas <dave@...>
> * eval.c (rb_mod_autoload, rb_mod_autoload_p): new method;
12 messages
2003/05/29
[#1095] Re: [ruby-cvs] ruby, ruby/lib: * eval.c (ev_const_defined, ev_const_get), variable.c
— nobu.nokada@...
2003/05/29
Hi,
[#1097] Re: [ruby-cvs] ruby, ruby/lib: * eval.c (ev_const_defined, ev_const_get), variable.c
— Dave Thomas <dave@...>
2003/05/29
nobu.nokada@softhome.net wrote:
[#1101] Re: [ruby-cvs] ruby, ruby/lib: * eval.c (ev_const_defined, ev_const_get), variable.c
— nobu.nokada@...
2003/05/29
Hi,
[#1102] Re: [ruby-cvs] ruby, ruby/lib: * eval.c (ev_const_defined, ev_const_get), variable.c
— matz@... (Yukihiro Matsumoto)
2003/05/30
Hi,
Fwd: ping.rb
From:
"J.Herre" <jlst@...>
Date:
2003-05-16 01:47:12 UTC
List:
ruby-core #1057
On Thursday, May 15, 2003, at 04:48 PM, nobu.nokada@softhome.net wrote:
> Hi,
>
> At Fri, 16 May 2003 01:10:54 +0900,
> Dave Thomas wrote:
>>>> I just tried using the Cygwin code under OSX, and it doesn't seem to
>>>> fix it: I just get EINVAL back 10 times in a row.
>>> Mmmm, how do other programs (telnet, ping ...) handle that
>>> condition?
>>
>> I'm guessing the problem is caused by the socket being opened in
>> nowait mode. I'm trying to find some source that also does that.
>
> Although it's ad hoc, what about treating EINVAL preceded by
> EINPROGRESS as ECONNREFUSED?
>
__MACOSX__ does not seem to be set but __APPLE__ is.
Checking via getsockopt() seems to work. (Depending on how you read the
man page for connect() this may or may not be required.)
Does someone else want to test this and see if it screws up anything
else?
-J
Index: ext/socket/socket.c
===================================================================
RCS file: /src/ruby/ext/socket/socket.c,v
retrieving revision 1.92
diff -u -r1.92 socket.c
--- ext/socket/socket.c 7 Apr 2003 06:58:31 -0000 1.92
+++ ext/socket/socket.c 16 May 2003 01:16:10 -0000
@@ -733,7 +733,7 @@
{
int status;
int mode;
-#if defined __CYGWIN__
+#if defined __CYGWIN__ || defined __APPLE__
int wait_in_progress = -1;
#endif
@@ -752,7 +752,7 @@
#ifdef SOCKS5
if (!socks)
#endif
- fcntl(fd, F_SETFL, mode|NONBLOCKING);
+ fcntl(fd, F_SETFL, mode|NONBLOCKING);
#endif /* HAVE_FCNTL */
for (;;) {
@@ -763,7 +763,21 @@
else
#endif
{
- status = connect(fd, sockaddr, len);
+#ifdef __APPLE__
+ if (wait_in_progress-- > 0) {
+ int sockerr;
+ int sockerrlen = sizeof(int);
+ status = getsockopt(fd, SOL_SOCKET, SO_ERROR, &sockerr,
&sockerrlen);
+ if (status == 0 && sockerr) {
+ status = -1;
+ errno = sockerr;
+ }
+ } else {
+ status = connect(fd, sockaddr, len);
+ }
+#else
+ status = connect(fd, sockaddr, len);
+#endif
}
if (status < 0) {
switch (errno) {
@@ -772,6 +786,9 @@
case EINPROGRESS:
#ifdef __CYGWIN__
case EALREADY:
+ wait_in_progress = 10;
+#endif
+#ifdef __APPLE__
wait_in_progress = 10;
#endif
#endif