kfpratt has quit [Remote host closed the connection]
kfpratt has joined #rubinius
unreal_ has joined #rubinius
unreal has quit [Ping timeout: 264 seconds]
nirvdrum has quit [Ping timeout: 276 seconds]
kfpratt has quit [Remote host closed the connection]
kfpratt has joined #rubinius
kfpratt has quit [Ping timeout: 255 seconds]
amclain has joined #rubinius
meh` has quit [Ping timeout: 265 seconds]
<jeremyevans>
Can someone with a current version of rbx please let me know the output of this: rbx -ve 'Thread.new{begin; Thread.current.kill; ensure; puts Thread.current.status; end}.join'
<jeremyevans>
In 2.2.9, it prints "aborting", but recent failures in Sequel's test suite on Travis make it appear the behavior has changed
<jeremyevans>
brixen: OK. That matches jruby's 1.7 behavior, and ruby 1.9, but not ruby 1.8.7 or ruby 2.0+
<brixen>
what are you expecting?
<jeremyevans>
brixen: Not sure if that's considered a compatibility issue, but it means that if you do Thread.kill on a Thread inside a Sequel transaction, the transaction gets committed instead of rolled back
<brixen>
there is no guarantee when a thread will be killed
<jeremyevans>
brixen: which is undesirable behavior. Not that I encourage anyone to use Thread.kill :)
<brixen>
you should precisely define the interleaving you are assuming is possible and then show what Thread methods explicitly guarantee that interleaving
<brixen>
I'm pretty sure you're assuming something that is essentially a race condition
<brixen>
there were rubyspecs added by ironruby about the "status of a running dying thread"
<brixen>
such a thing is impossible to assert
<brixen>
IOW, there are exactly 0 Thread methods to put a thread deterministically into a running, dying state
<jeremyevans>
Oh, there's definitely a race condition. But if you can win the race the vast majority of the time, what does it hurt to set the status to aborting ?
<brixen>
uh no
<brixen>
sorry, not even going to entertain that discussion
<jeremyevans>
brixen: Fair enough, just thought I'd check :)
|jemc|_ has joined #rubinius
|jemc| has quit [Ping timeout: 256 seconds]
RageLtMan has joined #rubinius
_whitelogger has joined #rubinius
GitHub121 has joined #rubinius
<GitHub121>
[rubinius] brixen pushed 1 new commit to master: http://git.io/vUJE2
<GitHub121>
rubinius/master cda061a Brian Shirai: Fixed Thread#join(timeout). Closes #3390....
goyox86 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
goyox86 has joined #rubinius
goyox86 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
benlovell has quit [Ping timeout: 255 seconds]
benlovell has joined #rubinius
goyox86 has joined #rubinius
goyox86 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
goyox86 has joined #rubinius
benlovell has quit [Ping timeout: 250 seconds]
meh` has joined #rubinius
benlovell has joined #rubinius
benlovell has quit [Ping timeout: 256 seconds]
cremes has quit [Remote host closed the connection]
unreal_ is now known as unreal
nirvdrum has joined #rubinius
cremes has joined #rubinius
craigp has quit [Ping timeout: 252 seconds]
benlovell has joined #rubinius
cremes has quit [Quit: cremes]
benlovell has quit [Ping timeout: 240 seconds]
benlovell has joined #rubinius
GitHub124 has joined #rubinius
<GitHub124>
[rubinius] YorickPeterse pushed 3 new commits to master: http://git.io/vUkLY
<GitHub124>
rubinius/master ebd609b Yorick Peterse: Imported PRI* macros from MRI...
<GitHub124>
rubinius/master b0c19f5 Yorick Peterse: Imported ZALLOC/ZALLOC_N from MRI...
<GitHub124>
rubinius/master a8a1150 Yorick Peterse: Imported ALLOCV macros from MRI
GitHub124 has left #rubinius [#rubinius]
el_cristobal has joined #rubinius
<el_cristobal>
Can someone explain why Thread#kill will no longer set that thread's status to "aborting"? I looked around a bit but couldn't find any public discussion about why this change was being made.