[#402707] Require a ruby project to automatically include the modules in classes defined in the same .rb file — Marc Heiler <lists@...>

Hi.

11 messages 2013/01/03
[#402738] Re: Require a ruby project to automatically include the modules in classes defined in the same .rb file — Josh Cheek <josh.cheek@...> 2013/01/04

On Wed, Jan 2, 2013 at 9:58 PM, Marc Heiler <lists@ruby-forum.com> wrote:

[#402764] Best practice for &&, ||, and, or — sto.mar@...

Hi group,

33 messages 2013/01/05
[#402786] Re: Best practice for &&, ||, and, or — "Jan E." <lists@...> 2013/01/05

Hi,

[#402812] newbie question what am I doing wrong? — "Lee V." <lists@...>

I wrote this simple program but it won't work. What am I doing wrong?

13 messages 2013/01/07

[#402856] Ruby on Android - usb/serialport — Scott Macri <lists@...>

Hello,

12 messages 2013/01/07

[#402880] One liner for filenames — Peter Bailey <lists@...>

Hello,

18 messages 2013/01/08

[#402890] Pure Ruby Jobs — Brandon Weaver <keystonelemur@...>

One thing has been bugging me lately. I've been looking around for jobs in

15 messages 2013/01/09

[#402958] how to open pop up window table? — Arup Rakshit <lists@...>

There is `text label` on a webpage, and I am trying to click on that to

13 messages 2013/01/10

[#403015] How Ruby environment varibles work in realtime program? — Arup Rakshit <lists@...>

Hi,

11 messages 2013/01/11

[#403051] Array methods creating confusions as per their functionalities — Arup Rakshit <lists@...>

Can any one just elaborate how the below works in Ruby, by definition

10 messages 2013/01/12

[#403062] How to take information from a text file and add them to an array — Adam Kennedy <lists@...>

Hi Im trying to take a list of usernames from a text file then add them

13 messages 2013/01/12

[#403083] Can anyone tell me the computational logic of Unpack() method of string? — Arup Rakshit <lists@...>

Hi,

17 messages 2013/01/12

[#403116] Garbage Collection and Fibers — Na Na <lists@...>

Hi,

20 messages 2013/01/13

[#403127] Conversion of Ruby-code to c/c++ code :: URGENT Plz help — "Nilesh S." <lists@...>

Hi.. I urgent require to convert the following ruby-code to c/c++ code.

11 messages 2013/01/14

[#403139] Installation query — Ron Herrema <lists@...>

I'm new to Ruby and am enjoying it, but when I installed, I attempted to

19 messages 2013/01/14

[#403205] Escaped backslashes in input strings - newbie question — John Sampson <jrs.idx@...>

I am trying to find a way of removing escaped characters in input

13 messages 2013/01/16
[#403208] Re: Escaped backslashes in input strings - newbie question — Alexander McMillan <alexandermcmillan@...> 2013/01/16

[#403244] Adding file directory automatically — Adam Kennedy <lists@...>

I have a bit of code that will add an amount to an array and then print

23 messages 2013/01/17

[#403326] question about string concatenation — David Richards <lists@...>

I'm puzzled about why the following happens (I'm using v1.9.3):

11 messages 2013/01/20

[#403377] Getting error "getaddrinfo: No such host is known. (Socke tError)" with mechanize gem — Arup Rakshit <lists@...>

I tried the below code:

9 messages 2013/01/22
[#403379] Re: Getting error "getaddrinfo: No such host is known. (Socke tError)" with mechanize gem — Robert Klemme <shortcutter@...> 2013/01/22

On Tue, Jan 22, 2013 at 3:52 PM, Arup Rakshit <lists@ruby-forum.com> wrote:

[#403423] Reading and looping through Excel — cristian cristian <lists@...>

Hi all!

16 messages 2013/01/24

[#403456] Can we attach documents to excel columns using Ruby? — Arup Rakshit <lists@...>

Suppose I do have some folders in a directory. Now say directory name

12 messages 2013/01/24

[#403540] Please explain in English — jooma lavata <lists@...>

I'm learning Ruby and I'm reading some expression that I saw on the

20 messages 2013/01/28

[#403553] Learning Ruby and proving your knowledge — Nathaniel Sokoll-Ward <lists@...>

Hey all,

19 messages 2013/01/28

[#403581] newbie question.. — Zebulon Bowles <lists@...>

So I'm taking a class on Ruby and it seems as though the teacher has

12 messages 2013/01/29

[#403607] (Errno::EINVAL) occurs during the File::rename() execution — Arup Rakshit <lists@...>

Hi I wrote the below code to rename the file names. The logic is during

12 messages 2013/01/30

[#403642] How to copy the directory files only to another directory? — Arup Rakshit <lists@...>

Hi,

18 messages 2013/01/30

[#403656] Does Ruby has any default database with it? — Arup Rakshit <lists@...>

I will do webpage scraping using Ruby and required Gems. But looking for

28 messages 2013/01/30
[#403657] Re: Does Ruby has any default database with it? — Brandon Weaver <keystonelemur@...> 2013/01/30

Normally sqlite is the go to being that it's the default of rails. Check

[#403667] Re: Does Ruby has any default database with it? — Justin Collins <justincollins@...> 2013/01/30

On 01/30/2013 10:21 AM, Arup Rakshit wrote:

[#403671] Re: Does Ruby has any default database with it? — Tony Arcieri <tony.arcieri@...> 2013/01/30

On Wed, Jan 30, 2013 at 12:07 PM, Justin Collins <justincollins@ucla.edu>wrote:

[#403674] Re: Does Ruby has any default database with it? — Arup Rakshit <lists@...> 2013/01/30

Tony Arcieri wrote in post #1094436:

[#403678] Re: Does Ruby has any default database with it? — Justin Collins <justincollins@...> 2013/01/30

On 01/30/2013 12:27 PM, Arup Rakshit wrote:

[#403735] Re: Does Ruby has any default database with it? — tamouse mailing lists <tamouse.lists@...> 2013/02/01

I think the best course for a new project is to start simple, go with

[#403698] Select "columns" from multidimensional array? — Joel Pearson <lists@...>

There's probably a simpler answer to this than the ways I've come up

51 messages 2013/01/31

[#403718] Ruby Project Ideas to get someone hired... — Colby Callahan <colby.callahan@...>

I have started learning Ruby this past week and have down the basics of

15 messages 2013/01/31

Re: GServer in Ruby 2.0.0

From: Joe Leo <joseph.leo3@...>
Date: 2013-01-05 00:46:17 UTC
List: ruby-talk #402753
Wow, this is a really interesting (and effective) solution. Reading the
docs on IO.pipe (http://www.ruby-doc.org/core-1.9.3/IO.html) this looks
pretty safe. And it works on Ruby 1.9.3 and 2.0.0-preview2.

My objective was to clean up my resources when the program receives a
SIGTERM. (As a counter example, calling "exit!" inside the original trap
context in my gist would have successfully killed my program without
throwing an exception but would not have cleaned up the utilized
resources.) There is the ominous "does not work on all systems" warning
with this method, but if I can test it out on some of the major ones
successfully, I'll go with it.

For what it's worth, I've filed my issue with ruby-core here:
http://bugs.ruby-lang.org/issues/7648. It hasn't gained any traction yet,
but if you want to post your own experience with Queue#enq it might be an
addendum to this bug report or a new bug altogether.

Thanks for your help! This was educational.

Joe

On Fri, Jan 4, 2013 at 8:44 AM, Sean O'Halpin <sean.ohalpin@gmail.com>wrote:

> On Tue, Jan 1, 2013 at 4:20 PM, Joe Leo <joseph.leo3@gmail.com> wrote:
> > I'm working on updating a gem to be compatible with Ruby 2.0 and am
> > currently using Ruby 2.0.0-preview2. I'm running into trouble with a
> > class which inherits from GServer and I think it's related to this bug
> and
> > subsequent patch. Please look at the gist:
> > https://gist.github.com/4424479
> >
> > Using Ruby <= 1.9.3, when sending an interrupt signal this code would
> > exit cleanly. Using Ruby 2.0, an exception is thrown on launcher.stop:
> >
> > ~/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/2.0.0/gserver.rb:116:in
> > `synchronize': can't be called from trap context (ThreadError)
> >     from
> > ~/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/2.0.0/gserver.rb:116:in
> > `stop'
> >
>
> I can confirm this is new behaviour in 2.0.0-preview2 - it also
> happens when you use Queue#enq from within a trap handler (which is an
> issue for me unfortunately).
>
> You could use a variant of the self-pipe trick to signal a thread as
> in the example below. Regards, Sean.
>
> # CODE
>
> require "gserver"
>
> # example server
> class MyServer < GServer
>   def initialize(port=10001, *args)
>     super(port, *args)
>   end
>   def serve(io)
>     io.puts(Time.now.to_s)
>   end
> end
>
> class Launcher
>   def initialize(servers)
>     @servers = servers
>   end
>
>   def start
>     @servers.each { |server| server.start }
>   end
>
>   def join
>     @servers.each { |server| server.join }
>   end
>
>   def stop
>     @servers.each { |server| server.stop }
>   end
> end
>
> servers = [MyServer.new]
> launcher = Launcher.new(servers)
>
> # create self-pipe
> p_read, p_write = IO.pipe
>
> Thread.start(launcher, p_read) do |l, pr|
>   pr.read # blocks until write end closed
>   pr.close
>   l.stop
>   exit
> end
>
> launcher.start
> trap("SIGINT") { p_write.close } # close pipe to signal thread
> launcher.join
>
>

In This Thread

Prev Next