Monitor + killing thread => thread in an aborting state

Discussion in 'Ruby' started by Christopher Debski, Feb 22, 2009.

  1. Hi
    I am using ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32].
    I have made a small program, to see whether killing thread is safe, when
    it is using a monitor.
    I have 3 threads:
    -writer, which changes global resource guarded by monitor
    -interrupter, which kills and spawns writer in a loop
    -main, which only monitors other threads

    After a few seconds my program hangs, because kill method does not
    return. Main thread says that the writer thread is in an aborting state.

    Sample output:
    writer: ok?
    main: tick writer-#<Thread:0x3b4b1e run> interrupter-#<Thread:0x1a80aea
    run>
    interrupter: kill
    interrupter: join
    interrupter: sleep 1
    interrupter: new
    interrupter: sleep 2
    writer: ok?
    interrupter: kill
    main: tick writer-#<Thread:0x1b66b06 aborting>
    interrupter-#<Thread:0x1a80aea run>
    main: tick writer-#<Thread:0x1b66b06 aborting>
    interrupter-#<Thread:0x1a80aea run>
    main: tick writer-#<Thread:0x1b66b06 aborting>
    interrupter-#<Thread:0x1a80aea run>
    (repeats infinitely)

    Is it ruby's bug?
    See attachment for full program source.

    Regards,
    Christopher

    Attachments:
    http://www.ruby-forum.com/attachment/3328/rubyMon.txt

    --
    Posted via http://www.ruby-forum.com/.
    Christopher Debski, Feb 22, 2009
    #1
    1. Advertising

  2. Christopher Debski

    Alex Katebi Guest

    [Note: parts of this message were removed to make it a legal post.]

    For one thing you should use ruby 1.9 which uses the OS thread instead of
    native ruby threading. The other is when you kill or cancel thread you need
    to provide safe areas for your condemned thread to die so resources are
    releases if any used.
    Look into pthread about canceling.

    On Sun, Feb 22, 2009 at 11:34 AM, Christopher Debski <
    > wrote:

    > Hi
    > I am using ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32].
    > I have made a small program, to see whether killing thread is safe, when
    > it is using a monitor.
    > I have 3 threads:
    > -writer, which changes global resource guarded by monitor
    > -interrupter, which kills and spawns writer in a loop
    > -main, which only monitors other threads
    >
    > After a few seconds my program hangs, because kill method does not
    > return. Main thread says that the writer thread is in an aborting state.
    >
    > Sample output:
    > writer: ok?
    > main: tick writer-#<Thread:0x3b4b1e run> interrupter-#<Thread:0x1a80aea
    > run>
    > interrupter: kill
    > interrupter: join
    > interrupter: sleep 1
    > interrupter: new
    > interrupter: sleep 2
    > writer: ok?
    > interrupter: kill
    > main: tick writer-#<Thread:0x1b66b06 aborting>
    > interrupter-#<Thread:0x1a80aea run>
    > main: tick writer-#<Thread:0x1b66b06 aborting>
    > interrupter-#<Thread:0x1a80aea run>
    > main: tick writer-#<Thread:0x1b66b06 aborting>
    > interrupter-#<Thread:0x1a80aea run>
    > (repeats infinitely)
    >
    > Is it ruby's bug?
    > See attachment for full program source.
    >
    > Regards,
    > Christopher
    >
    > Attachments:
    > http://www.ruby-forum.com/attachment/3328/rubyMon.txt
    >
    > --
    > Posted via http://www.ruby-forum.com/.
    >
    >
    Alex Katebi, Feb 22, 2009
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Willem Oosthuizen

    Aborting Fucntions

    Willem Oosthuizen, Jul 10, 2003, in forum: VHDL
    Replies:
    2
    Views:
    1,036
  2. Wayne MJ

    Aborting a _Click event?

    Wayne MJ, Jul 23, 2003, in forum: ASP .Net
    Replies:
    0
    Views:
    371
    Wayne MJ
    Jul 23, 2003
  3. Jerry Camel

    Stop aborting my thread!

    Jerry Camel, Feb 25, 2004, in forum: ASP .Net
    Replies:
    7
    Views:
    581
    Kevin Spencer
    Feb 26, 2004
  4. Russ
    Replies:
    5
    Views:
    473
    Fabrizio Milo
    Feb 19, 2006
  5. ScottZ
    Replies:
    2
    Views:
    351
    Jorgen Grahn
    Nov 2, 2008
Loading...

Share This Page