Thread Priority

Hi guys,

I’ve just noticed that something happened to Thread.priority… It
disappeared.
I’m talking about Thread’s instance attribute - priority. I’m using
the latest code from GitHub.

The only available priority in the Thread instance now is a CamelCase
priority, which is .Net’s Priority attribute…

Take a look at the next REPL session:
=> #<Thread:0x000005e aborting>

t = Thread.new { puts “Start”; sleep(30); puts “end” }
tart=>
#<Thread:0x0000060 run>

t.priority
:0: undefined method `priority’ for #<Thread:0x0000060 sleep>
(NoMethodError)

t.Priority
=> Normal

I remember the priority attribute was problematic because it didn’t
receive numeric values like MRI. Maybe this is related to that?

Thanks,
Shay.

Ruby Thread#priority is not implemented yet. We disabled name mangling
on built-ins recently so Thread.Priority property is not callable via
lower-case name anymore.

Tomas

Is it going to be implemented for V1?
If yes, is it going to work as MRI with numeric values?

Thanks!
Shay.

On 10/25/09, Tomas M. [email protected] wrote:

To: ironruby-core
priority, which is .Net’s Priority attribute…

t.Priority
Shay F.
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core

Hello,

I have done a very basic implementation of a while back but I did not
finish
the modifications to the specs to test this.

Here are the commits if you want to grab it

de7f305

164f202

It was decided at some point that there would only be 5 valid values

-2, -1, 0, 1 and 2 … mapping to the CLR thread priorities
Lowest, BelowNormal, Normal, AboveNormal and Highest

If anything lower than -2 is passed in the thread will be assigned
Lowest
and Highest if above 2.

Pascal

Quick +1 to vote this patch up.

I’ve been working on the JRuby support for the DataMapper ORM and
DataObjects(.rb) database connectivity layer. These projects rely in
turn on another project called Extlib, which provides a bunch of
useful extensions (lazy arrays, thread pools, string extensions) for
the other two projects.

I pulled down and built the latest IronRuby and running Extlib’s
specs, the lack of Thread#priority appears to be the first blocker in
our support for IR.

Alex Coles

DataMapper: GitHub - datamapper/dm-core: DataMapper - Core
DataObjects: GitHub - datamapper/do: DataObjects
Extlib: GitHub - datamapper/extlib: General Ruby extensions for Merb

What’s the status of the DataMapper port? I was just trying to use it
but
couldn’t get the gem installed. I’m interested in helping get this
working.
What next steps are needed?

Thanks,

Ryan R.

Email: [email protected]
LinkedIn: http://www.linkedin.com/in/ryanriley
Blog: http://wizardsofsmart.net/
Twitter: @panesofglass
Website: http://panesofglass.org/

I remembered something like that. Thanks for pointing it out Pascal.

Is it going to be incorporated into V1 code?

Thanks!

Shay.

On Mon, Oct 26, 2009 at 1:49 AM, Pascal Normandin <

I’m working on installing datamapper from the sources. However, I have
to
manually execute ir -S gem install .\pkg\_.gem each time after the gem
is
created. I’m getting this error:
C:\Users\ryan\dev\extlib>irake install
‘irake’ is not recognized as an internal or external command,
operable program or batch file.

C:\Users\ryan\dev\extlib>ir -S rake install --trace
(in C:/Users/ryan/dev/extlib)
** Invoke install (first_time)
** Invoke build (first_time)
** Invoke gemspec (first_time)
** Invoke gemspec:generate (first_time)
** Invoke version_required (first_time)
** Execute version_required
** Execute gemspec:generate
Generated: extlib.gemspec
** Invoke gemspec:validate (first_time)
** Invoke version_required
** Execute gemspec:validate
extlib.gemspec is valid.
** Execute gemspec
** Execute build
WARNING: description and summary are identical
Successfully built RubyGem
Name: extlib
Version: 0.9.15
File: extlib-0.9.15.gem
** Execute install
Executing “ir install ./pkg/extlib-0.9.15.gem”:
ir install ./pkg/extlib-0.9.15.gem
unknown: Could not find file ‘C:\Users\ryan\dev\extlib\install’.
(Errno::ENOENT)

rake aborted!
Command failed with status (1): [ir install ./pkg/extlib-0.9.15.gem…]
C:/Users/ryan/.gem/ironruby/1.8/gems/rake-0.8.7/lib/rake.rb:995:in sh' C:/Users/ryan/.gem/ironruby/1.8/gems/rake-0.8.7/lib/rake.rb:1010:in call’
C:/Users/ryan/.gem/ironruby/1.8/gems/rake-0.8.7/lib/rake.rb:1010:in sh' C:/Users/ryan/.gem/ironruby/1.8/gems/rake-0.8.7/lib/rake.rb:1091:in sh’
C:/Users/ryan/.gem/ironruby/1.8/gems/jeweler-1.4.0/lib/jeweler/commands/install_gem.rb:15:in
run' C:/Users/ryan/.gem/ironruby/1.8/gems/jeweler-1.4.0/lib/jeweler.rb:89:in install_gem’
C:/Users/ryan/.gem/ironruby/1.8/gems/jeweler-1.4.0/lib/jeweler/tasks.rb:77:in
define' C:/Users/ryan/.gem/ironruby/1.8/gems/rake-0.8.7/lib/rake.rb:636:in call’
C:/Users/ryan/.gem/ironruby/1.8/gems/rake-0.8.7/lib/rake.rb:636:in
execute' C:/Users/ryan/.gem/ironruby/1.8/gems/rake-0.8.7/lib/rake.rb:631:in each’
C:/Users/ryan/.gem/ironruby/1.8/gems/rake-0.8.7/lib/rake.rb:631:in
execute' C:/Users/ryan/.gem/ironruby/1.8/gems/rake-0.8.7/lib/rake.rb:597:in invoke_with_call_chain’
C:/Program Files (x86)/IronRuby 1.0/lib/ruby/1.8/monitor.rb:242:in
mon_synchronize' C:/Users/ryan/.gem/ironruby/1.8/gems/rake-0.8.7/lib/rake.rb:590:in invoke_with_call_chain’
C:/Users/ryan/.gem/ironruby/1.8/gems/rake-0.8.7/lib/rake.rb:583:in
invoke' C:/Users/ryan/.gem/ironruby/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in invoke_task’
C:/Users/ryan/.gem/ironruby/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in
top_level' C:/Users/ryan/.gem/ironruby/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in each’
C:/Users/ryan/.gem/ironruby/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in
top_level' C:/Users/ryan/.gem/ironruby/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in standard_exception_handling’
C:/Users/ryan/.gem/ironruby/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in
top_level' C:/Users/ryan/.gem/ironruby/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in run’
C:/Users/ryan/.gem/ironruby/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in
standard_exception_handling' C:/Users/ryan/.gem/ironruby/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in run’
C:/Users/ryan/.gem/ironruby/1.8/gems/rake-0.8.7/bin/rake:31
C:/Users/ryan/.gem/ironruby/1.8/bin/rake:19:in `load’
C:/Users/ryan/.gem/ironruby/1.8/bin/rake:19

Shouldn’t this both build the gem and execute gem install on the created
gem? Did I miss a step?

Thanks!

Ryan R.

Email: [email protected]
LinkedIn: http://www.linkedin.com/in/ryanriley
Blog: http://wizardsofsmart.net/
Twitter: @panesofglass
Website: http://panesofglass.org/