[#686] Wall compilation — Michal Rokos <michal@...>
Hi everybody,
[#688] mkmf.rb - add files to clean and distclean targets — Michal Rokos <michal@...>
Hi,
On Thu, 16 Jan 2003, Michal Rokos wrote:
Hi,
Hi,
On Tue, Jan 21, 2003 at 11:16:39AM +0900, Yukihiro Matsumoto wrote:
Hi,
On Tue, Jan 21, 2003 at 06:38:00PM +0900, Yukihiro Matsumoto wrote:
Hi,
On Tue, Jan 21, 2003 at 11:37:35PM +0900, Yukihiro Matsumoto wrote:
Hi,
Hello,
Hi,
Hi,
Hi,
Hi,
[#708] Documentation for thread.rb — Gavin Sinclair <gsinclair@...>
Hi ruby-core,
[#719] nd_end and NODE_NEWLINE (fwd) — Chad Fowler <chad@...>
[#724] Symbols: More Functionality Wanted — Ryan Pavlik <rpav@...>
I've been discussing this for a bit on #ruby-lang on OPN (or freenode or
Hi,
On 20 Jan 2003 at 15:49, Yukihiro Matsumoto wrote:
Hi --
On Thursday, January 23, 2003, 6:28:04 AM, dblack wrote:
Gavin Sinclair <gsinclair@soyabean.com.au> writes:
Hi,
matz@ruby-lang.org (Yukihiro Matsumoto) writes:
Hi,
On Fri, 24 Jan 2003 03:34:46 +0900
[#730] Comments on matrix.rb — Gavin Sinclair <gsinclair@...>
Hi -core,
[#757] Extensions for Time and ParseDate — Ryan Davis <ryand-ruby@...>
Eric and I have been hacking around and we can't stand the lack of
[#759] Adding Test::Unit to CVS — "Nathaniel Talbott" <nathaniel@...>
Matz has already given me the go-ahead to add Test::Unit to CVS, but I
Nathaniel Talbott wrote:
On Wednesday, January 22, 2003, at 07:56 AM, Dave Thomas wrote:
Basic UNIXSocketDGram implementation
Has anyone else tried adding UNIX datagram sockets to Ruby? I can't quite see
the use of them myself, but they're a staple part of controlling User-Mode
Linux remotely; my basic implementation looks like this:
class UNIXSocketDGram
attr_reader :path
private
def sockaddr_struct_un(path)
[Socket::AF_UNIX, path, 0].pack("Sa#{path.length}c")
end
private
def initialize(path="/tmp/localunixdgram-#{$$}-#{rand(1000000)}")
@proxy = Socket.new(Socket::AF_UNIX, Socket::SOCK_DGRAM, 0)
@proxy.bind(sockaddr_struct_un(path))
@path = path
end
public
def send(data, flags, dest)
@proxy.send(data, flags, sockaddr_struct_un(dest))
end
public
def recvfrom(len)
data, sender = @proxy.recvfrom(len)
return [data, [sender]]
end
end
My problem is that it seems possible to call @proxy.send to a socket which
causes the Ruby process to block regardless of signals. I've tried a fairly
desperate Kernel.syscall(27, 1) (i.e. deliver SIGALRM after 1 sec) to try to
break such a blocking call, but still it hangs until I deliver a SIGTERM.
This only seems to happen when trying to talk to a UNIX socket which is being
handled by a hung User-Mode Linux process: my question is, I suppose, whether
I can do anything in Ruby to avert this hanging / blocking effect, or whether
I can detect that it might happen before calling send on the socket.
Any ideas would be appreciated.
--
Matthew > http://www.soup-kitchen.net/
> ICQ 19482073 > AIM MattbeeUK