[#45942] win32ole and excel — Martin Stannard <martin@...>

Hi,

19 messages 2002/08/01

[#45948] "gets" blocking process not thread (in Windows only) — Matt Pattison <mfp@...>

The problem with my program is that (in Windows) gets seems to block the entire

13 messages 2002/08/01

[#46030] IO.readlines is slow ? — "Shashank Date" <ADATE@...>

I really like the convenience of doing:

18 messages 2002/08/02

[#46072] How to Load Script from a C Extension? — William Djaja Tjokroaminata <billtj@...>

Hi,

20 messages 2002/08/02

[#46107] embed or swig? — ptkwt@...1.aracnet.com (Phil Tomson)

I'm working a C++ project for a contract I'm doing. Originally, the

21 messages 2002/08/03

[#46128] Assoc Class (Hash Pairs) — Tom Sawyer <transami@...>

i've been thinking about posting this as an RCR.

28 messages 2002/08/03

[#46136] Should this work? — "Hal E. Fulton" <hal9000@...>

Should multiple assignment work for the

17 messages 2002/08/03

[#46192] Detecting when an instance variable is created/set — Harry Ohlsen <harryo@...>

Imagine we have a class like ...

22 messages 2002/08/04
[#46198] Re: Detecting when an instance variable is created/set — Tom Sawyer <transami@...> 2002/08/04

On Sun, 2002-08-04 at 06:03, Harry Ohlsen wrote:

[#46207] Re: Detecting when an instance variable is created/set — Harry Ohlsen <harryo@...> 2002/08/04

> > Can I write a method (of class Object or Kernel, perhaps) that will be

[#46226] Re: Detecting when an instance variable is created/set — Massimiliano Mirra <list@...> 2002/08/04

On Sun, Aug 04, 2002 at 10:32:44PM +0900, Harry Ohlsen wrote:

[#46264] Dynamic creation of classes and methods — Tomasz Wegrzanowski <taw@...>

I want to create classes and methods on fly.

11 messages 2002/08/05

[#46341] More questions on automation from na誰ve Windows user. — Chris Gehlker <gehlker@...>

Hi all,

15 messages 2002/08/05

[#46356] Coding challenge (on Ruby Garden) — David Alan Black <dblack@...>

Hello --

47 messages 2002/08/06

[#46357] Compiling Ruby to Native Code? — web2ed@... (Edward Wilson)

Having looked at OCaml, after following a post to this group, one

20 messages 2002/08/06

[#46426] Is There an Inverse of 'rb_define_method'? — William Djaja Tjokroaminata <billtj@...>

Hi,

15 messages 2002/08/06

[#46442] COM on Unix? — Chris Gehlker <gehlker@...>

As part of my crusade to make Ruby an automation language I read up a little

12 messages 2002/08/06

[#46443] Dup and Clone — "Justin Johnson" <justinj@...>

Could anyone kindly point out the difference between 'dup' and 'clone'?

17 messages 2002/08/06

[#46475] Named paramters again — "Justin Johnson" <justinj@...>

26 messages 2002/08/07
[#46534] Re: Named paramters again — "Gavin Sinclair" <gsinclair@...> 2002/08/07

[#46537] RE: Named paramters again — "Rich Kilmer" <rich@...> 2002/08/07

[#46550] GUI's and the Rouge, Part IV — Kero van Gelder <kero@...>

Funny, two savannah accounts for the same objective:

12 messages 2002/08/07

[#46565] Re: Unicode in Ruby now? — "Marcin 'Qrczak' Kowalczyk" <qrczak@...>

Wed, 7 Aug 2002 16:41:18 +0900, Curt Sampson <cjs@cynic.net> pisze:

12 messages 2002/08/07

[#46732] ambiguity between local variable assignment and writter method — Tom Sawyer <transami@...>

does anyone else find it annoying that local variable assignment is

56 messages 2002/08/09
[#46788] Re: ambiguity between local variable assignment and writter method — dblack@... 2002/08/10

Hi --

[#46791] Re: ambiguity between local variable assignment and writter method — Tom Sawyer <transami@...> 2002/08/10

On Fri, 2002-08-09 at 22:50, dblack@candle.superlink.net wrote:

[#46794] Re: ambiguity between local variable assignment and writter method — dblack@... 2002/08/10

Hi --

[#46734] Re: ambiguity between local variable assignment and writter method — Paul Brannan <pbrannan@...> 2002/08/09

On Sat, Aug 10, 2002 at 03:00:28AM +0900, Tom Sawyer wrote:

[#46737] Re: ambiguity between local variable assignment and writter method — Tom Sawyer <transami@...> 2002/08/09

On Fri, 2002-08-09 at 12:05, Paul Brannan wrote:

[#46739] Re: ambiguity between local variable assignment and writter method — Dave Thomas <Dave@...> 2002/08/09

Tom Sawyer <transami@transami.net> writes:

[#46741] Re: ambiguity between local variable assignment and writter method — GOTO Kentaro <gotoken@...> 2002/08/09

At Sat, 10 Aug 2002 03:44:45 +0900,

[#46748] Re: ambiguity between local variable assignment and writter method — Dave Thomas <Dave@...> 2002/08/09

GOTO Kentaro <gotoken@notwork.org> writes:

[#46753] Re: ambiguity between local variable assignment and writter method — Tom Sawyer <transami@...> 2002/08/09

On Fri, 2002-08-09 at 13:30, Dave Thomas wrote:

[#46841] Ah, I'm finally back from Japan ... — Dossy <dossy@...>

Not like anyone cares (or noticed) but my two week stay in Japan

12 messages 2002/08/10

[#46875] To be a Module, or not to be... — Holden Glova <dsafari@...>

-----BEGIN PGP SIGNED MESSAGE-----

12 messages 2002/08/11

[#46911] Choosing ruby? — Rhymes <raims@...>

27 messages 2002/08/11

[#46957] Handling forms on database driven websites — Philip Mak <pmak@...>

Ever since I learned Perl, Ruby and MySQL, I've built several database

10 messages 2002/08/12

[#47000] Primary Key Hash help — "Chris Morris" <chrismo@...>

I have a huge data file with rows like this:

17 messages 2002/08/12

[#47134] Data_Make_Struct Considered Dangerous? — William Djaja Tjokroaminata <billtj@...>

Hi,

39 messages 2002/08/13

[#47212] Ruby Weekly News — Dave@...

21 messages 2002/08/14

[#47292] Thought question: Where does "new" come from? — "Hal E. Fulton" <hal9000@...>

I've been brooding again on the circularities

28 messages 2002/08/15
[#47342] Re: Thought question: Where does "new" come from? — "Hal E. Fulton" <hal9000@...> 2002/08/15

----- Original Message -----

[#47346] Re: Thought question: Where does "new" come from? — dblack@... 2002/08/15

Hi --

[#47365] Re: Thought question: Where does "new" come from? — "MikkelFJ" <mikkelfj-anti-spam@...> 2002/08/15

[#47369] Re: Thought question: Where does "new" come from? — dblack@... 2002/08/15

Hello --

[#47372] Re: Thought question: Where does "new" come from? — "MikkelFJ" <mikkelfj-anti-spam@...> 2002/08/15

[#47377] Re: Thought question: Where does "new" come from? — dblack@... 2002/08/16

Hi --

[#47344] eruby editor — "Kyle Wilson" <kyle.wilson@...>

Hello. I was wondering if anyone knows of a text editor which will

17 messages 2002/08/15

[#47440] Help with a segv in mod_ruby — Dave Thomas <Dave@...>

14 messages 2002/08/16

[#47461] How do I dup file descriptors in ruby? (diverting STDERR) — "Richard A. Ryan" <ryan@...>

Hello,

12 messages 2002/08/16

[#47464] IDE vs. editor — Holden Glova <dsafari@...>

-----BEGIN PGP SIGNED MESSAGE-----

43 messages 2002/08/16

[#47547] Re: What Ruby needs. — "Shashank Date" <ADATE@...>

I do not have any problem with item 1) on your wish list as long as I don't

13 messages 2002/08/18

[#47559] Ruby Bot — Giuseppe Bilotta <bilotta78@...>

Hello,

14 messages 2002/08/18

[#47643] thread control — "Shashank Date" <ADATE@...>

I am trying to write a ruby script (Ruby 1.7.2 mswin32) which does the

21 messages 2002/08/20

[#47695] What makes a "good" Ruby extension? — Tim Hunter <cyclists@...>

So I'm reading the "Comparing Gui Toolkits" wiki page

14 messages 2002/08/20

[#47749] What New Language After Ruby? — William Djaja Tjokroaminata <billtj@...>

To Andrew Hunt and David Thomas:

74 messages 2002/08/21
[#47754] Re: What New Language After Ruby? — Wilkes Joiner <boognish23@...> 2002/08/21

Although activity seems to have died down, here are some links

[#47817] A Repeat: New Language After Ruby? — William Djaja Tjokroaminata <billtj@...>

Hi,

54 messages 2002/08/21
[#47820] RE: A Repeat: New Language After Ruby? — " JamesBritt" <james@...> 2002/08/21

[#47918] Win32 Scripting — Sean Middleditch <elanthis@...>

Hi,

13 messages 2002/08/22

[#48035] Why Ruby Uses Mark-and-Sweep GC? — William Djaja Tjokroaminata <billtj@...>

Hi,

39 messages 2002/08/23

[#48062] Ruby and Judy — Joseph McDonald <joe@...>

29 messages 2002/08/23

[#48082] Distributed Object Container — junderdown@... (Jason Underdown)

Is anyone out there in the Ruby community working on an object

23 messages 2002/08/24
[#48185] Re: Distributed Object Container — "Gavin Sinclair" <gsinclair@...> 2002/08/26

----- Original Message -----

[#48223] Ruby Based App Server — junderdown@... (Jason Underdown)

I posted a similar question a few days ago, but didn't get any

21 messages 2002/08/26

[#48264] Ruby developers: help push RPKG development and usage forward!! (it is like CPAN.pm, only Ruby) — itsnewsforme@... (M S)

A big complaint from people looking into Ruby is that they don't see

36 messages 2002/08/27
[#48292] Re: Ruby developers: help push RPKG development and usage forward!! (it is like CPAN.pm, only Ruby) — ts <decoux@...> 2002/08/27

>>>>> "M" == M S <itsnewsforme@yahoo.ca> writes:

[#48296] RE: Ruby developers: help push RPKG development and usage forward!! (it is like CPAN.pm, only Ruby) — "Rich Kilmer" <rich@...> 2002/08/27

Actually, it would be nice to have them online, but not necessarily

[#48336] Re: Ruby developers: help push RPKG development and usage forward!! (it is like CPAN.pm, only Ruby) — Massimiliano Mirra <list@...> 2002/08/27

On Tue, Aug 27, 2002 at 09:39:32PM +0900, Rich Kilmer wrote:

[#48358] RE: Ruby developers: help push RPKG development and usage forward!! (it is like CPAN.pm, only Ruby) — "Rich Kilmer" <rich@...> 2002/08/28

http://kt-www.jaist.ac.jp/~ttate/ruby/ruby-dl.html

[#48362] RE: Ruby developers: help push RPKG development and usage forward!! (it is like CPAN.pm, only Ruby) — Tom Sawyer <transami@...> 2002/08/28

On Tue, 2002-08-27 at 19:32, Rich Kilmer wrote:

[#48367] RE: Ruby developers: help push RPKG development and usage forward!!(it is like CPAN.pm, only Ruby) — "Rich Kilmer" <rich@...> 2002/08/28

You can just install it in another directory and then go to that

[#48369] RE: Ruby developers: help push RPKG development and usage forward!!(it is like CPAN.pm, only Ruby) — Tom Sawyer <transami@...> 2002/08/28

uh, sorry, how do i get 1.7.2? i tried anonymous cvs but it said NO. did

[#48371] RE: Ruby developers: help push RPKG development and usageforward!!(it is like CPAN.pm, only Ruby) — "Rich Kilmer" <rich@...> 2002/08/28

Nightly CVS snapshot:

[#48274] ANN: RJudy-0.1 - Judy Arrays for Ruby — Lyle Johnson <lyle@...>

All,

17 messages 2002/08/27

[#48477] Newbie converting brain from perl — William Pietri <william-news-383910@...>

20 messages 2002/08/28

[#48544] Best GC for Ruby? — "Justin Johnson" <justinj@...>

34 messages 2002/08/29

[#48573] FXRuby Threading Problem Solved? — Lyle Johnson <lyle@...>

All,

14 messages 2002/08/29

[#48584] suggestions to the Ruby community — stibbs <stibbs@...>

Hi, first i would like to state that i absolutely love Ruby more than any

85 messages 2002/08/29
[#48923] Re: suggestions to the Ruby community — <bbense+comp.lang.ruby.Sep.03.02@...> 2002/09/03

-----BEGIN PGP SIGNED MESSAGE-----

[#48930] RE: suggestions to the Ruby community — " JamesBritt" <james@...> 2002/09/03

> >I was surprised just now to find that there is no absolute requirement

[#49017] Re: suggestions to the Ruby community — <bbense+comp.lang.ruby.Sep.04.02@...> 2002/09/04

-----BEGIN PGP SIGNED MESSAGE-----

[#48657] ICFP Programming Contest — Alan Chen <alan@...>

http://icfpcontest.cse.ogi.edu/task.html

12 messages 2002/08/30

[#48705] Ruby aesthetics — vegai@...

Hello. I've been checking into python lately quite a lot, and I

192 messages 2002/08/31
[#49010] Re: Ruby aesthetics — "Hal E. Fulton" <hal9000@...> 2002/09/04

----- Original Message -----

[#49100] Re: Ruby aesthetics — Paul Prescod <paulp@...> 2002/09/05

On Thu, 5 Sep 2002, Hal E. Fulton wrote:

[#49112] Re: Ruby aesthetics — William Djaja Tjokroaminata <billtj@...> 2002/09/05

Hi,

[#49154] Re: Ruby aesthetics — Paul Prescod <paulp@...> 2002/09/05

On Thu, 5 Sep 2002, William Djaja Tjokroaminata wrote:

[#49161] Re: Ruby aesthetics — Christian Szegedy <szegedy@...> 2002/09/05

Paul Prescod wrote:

[#49173] Re: Ruby aesthetics — William Djaja Tjokroaminata <billtj@...> 2002/09/05

Hi,

[#49183] Re: Ruby aesthetics — <paul@...> 2002/09/05

On Fri, 6 Sep 2002, William Djaja Tjokroaminata wrote:

[#49189] Re: Ruby aesthetics — William Djaja Tjokroaminata <billtj@...> 2002/09/05

I think we have communicated very well; I agree with all you said. May I

[#49191] Re: Ruby aesthetics — <paul@...> 2002/09/05

On Fri, 6 Sep 2002, William Djaja Tjokroaminata wrote:

[#49272] Re: Ruby aesthetics — William Djaja Tjokroaminata <billtj@...> 2002/09/06

Hi Matz,

[#49293] Re: Ruby aesthetics — matz@... (Yukihiro Matsumoto) 2002/09/06

Hi,

[#49312] Re: Ruby aesthetics — <paul@...> 2002/09/06

On Sat, 7 Sep 2002, Yukihiro Matsumoto wrote:

[#49321] Re: Ruby aesthetics — dblack@... 2002/09/06

Hello --

Re: thread control

From: "Shashank Date" <ADATE@...>
Date: 2002-08-24 19:00:38 UTC
List: ruby-talk #48105
Hi Park,

I cannot thank you enough for all the efforts ...

Wish you the very best !

-- Shanko

"Park Heesob" <phasis@kornet.net> wrote in message
news:ak7i7j$fsq$1@news1.kornet.net...
>
> Hi,
>
> "Shashank Date" <ADATE@kc.rr.com> wrote in message
> news:q1599.19624$Hf.636502@twister.kc.rr.com...
> > Hi Park,
> >
> > > If you use command "ping 10.0.0.0 -n 90 -w 1000 > NUL",
> > > it creates two processes  'cmd.exe' and 'ping.exe'.
> > > I can get pid of 'cmd.exe', but not pid of 'ping.exe'.
> >
> > If you download pstools from:
> >
> > http://www.sysinternals.com/ntw2k/freeware/pstools.shtml
> >
> > and run "pslist -t" it shows you the process tree.
> > (There is also a Win2K ResourceKit utility "ptree" which I believe does
> the
> > same thing).
> >
> > Which tells me that there is Windows API which exposes the parent-child
> > relationship of processes.
> > May be that is what is needed to finish it off.
> >
> > > If you can find pid of 'ping.exe', there's no problem.
> > > It's your chance to finish this program perfectly.
> >
> > Assuming I get hold of the pid for "ping", I guess, I will have to
replace
> > the following line of your modification:
> >
> > hProcess = OpenProcess.Call(0x100001, 1 , f.pid)
> >
^^^^
> > with:
> >
> > hProcess = OpenProcess.Call(0x100001, 1 , ping_pid)
> >
> > Right ?
> >
> > I will try ... but I am not as comfortable with Windows API as you are
> ...so
> > I might call for help again ;-)
> >
> Thanks for your information.
> Here is my final version.
>
>
#===========================================================================
> =====
> require 'Win32API'
>
> OpenProcess = Win32API.new("kernel32","OpenProcess",['L','L','L'],'L')
> TerminateProcess =
Win32API.new("kernel32","TerminateProcess",['L','L'],'L')
> WaitForSingleObject =
> Win32API.new("kernel32","WaitForSingleObject",['L','L'],'L')
> RegCloseKey = Win32API.new("advapi32","RegCloseKey",['L'],'L')
> RegOpenKeyEx =
> Win32API.new("advapi32","RegOpenKeyEx",['L','P','L','L','P'],'L')
> RegQueryValueEx =
> Win32API.new("advapi32","RegQueryValueEx",['L','P','L','P','P','P'],'L')
>
> INITIAL_SIZE        = 51200
> EXTEND_SIZE         = 25600
> REGKEY_PERF         = "software\\microsoft\\windows
> nt\\currentversion\\perflib\\009"
> REGSUBKEY_COUNTERS  = "Counters"
> KEY_READ     =  0x20019;
> ERROR_MORE_DATA     = 234
> HKEY_LOCAL_MACHINE  = 0x80000002
> HKEY_PERFORMANCE_DATA = 0x80000004
>
> # return hash key : parent pids, value : array of  child pids
> def getpids()
>
>  result = Hash.new
>
>  hKeyNames = "\0"*4
>  rc = RegOpenKeyEx.Call(
> HKEY_LOCAL_MACHINE,REGKEY_PERF,0,KEY_READ,hKeyNames)
>  hKeyNames = hKeyNames.unpack('L')[0]
>  dwSize = "\0"*4
>  rc = RegQueryValueEx.Call( hKeyNames,REGSUBKEY_COUNTERS,0,0,0,dwSize)
>  dwSize2 = dwSize.unpack('L')[0]
>  buf = "\0" * dwSize2
>  rc = RegQueryValueEx.Call( hKeyNames,REGSUBKEY_COUNTERS,0,0,buf,dwSize)
>
>  buf2 = Hash[*buf.split("\0")]
>
>  proidx =  buf2.index("Process").to_i
>  pididx = buf2.index("ID Process").to_i
>  ppididx = buf2.index("Creating Process ID").to_i
>
>  buf = "\0" * INITIAL_SIZE
>  szSubKey = proidx.to_s
>  dwSize = [INITIAL_SIZE]
>
>  while true
>   dwSize2 = dwSize.pack('L')
>   rc = RegQueryValueEx.Call(
HKEY_PERFORMANCE_DATA,szSubKey,0,0,buf,dwSize2)
>
>   break if rc==0
>
>   if rc == ERROR_MORE_DATA
>    dwSize[0] += EXTEND_SIZE;
>    buf = "\0" * dwSize[0]
>   else
>    exit
>   end
>  end
>
>  pObj = buf[buf[24,4].unpack('L')[0] .. -1]
>
>  pCounterDef = pObj[pObj[8,4].unpack('L')[0] .. -1]
>  numCounters = pObj[32,4].unpack('L')[0]
>
>  for i in 0 .. numCounters
>   counterNameTitleIndex = pCounterDef[4,4].unpack('L')[0]
>   if counterNameTitleIndex == pididx
>    pidcounter = pCounterDef[36,4].unpack('L')[0]
>   end
>   if counterNameTitleIndex == ppididx
>    ppidcounter = pCounterDef[36,4].unpack('L')[0]
>   end
>   pCounterDef = pCounterDef[40..-1]
>  end
>
>  dwNumTasks = pObj[40,4].unpack('L')[0]
>
>  pInst = pObj[pObj[4,4].unpack('L')[0] .. -1]
>
>  for i in 0 .. dwNumTasks
>   pCounter = pInst[pInst[0,4].unpack('L')[0] .. -1]
>   pid = pCounter[pidcounter,4].unpack('L')[0]
>   ppid = pCounter[ppidcounter,4].unpack('L')[0]
>
>   if ppid>0
>     if result[ppid] == nil
>    result[ppid] = [pid]
>     else
>      result[ppid].push(pid)
>     end
>   end
>
>   pInst = pCounter[pCounter[0,4].unpack('L')[0] .. -1]
>  end
>
>  RegCloseKey.Call( hKeyNames )
>  RegCloseKey.Call( HKEY_PERFORMANCE_DATA )
>  result
>
> end
>
>
>  puts 'Start: ' + `echo %TIME%`
>  cmds = [
>          "ping 10.0.0.0 -n 30 -w 1000 >NUL",
>          "ping 10.0.0.0 -n 60 -w 1000 >NUL",
>          "ping 10.0.0.0 -n 90 -w 1000 >NUL"
>         ]
>
>  out = []
>  threads = []
>
>  for c in cmds
>      threads << Thread.new(c) { |myCmd|
>          puts "#{myCmd}"
>          f = IO.popen(myCmd)
>     hProcess = OpenProcess.Call(0x00100001, 0 ,f.pid)
>     Thread.current['pid'] = f.pid
>     Thread.current['hProcess'] = hProcess
>     while true
>       a = WaitForSingleObject.Call( hProcess, 0 );
>            break if a==0
>          end
>      }
>  end
>
>  puts threads.length.to_s + ' threads running'
>
>  begin
>      i = 0
>      threads.each { |t| i += 1 if t.stop? }
>      puts `echo %TIME%`
>      b = File.exists?("C:junkj0.txt")
>      puts i.to_s + ':' + File.mtime("C:junkj0.txt").to_s if $DEBUG and b
>      $stdout.flush
>  end until (i == threads.length) || (not b)
>
>  pids = getpids
>
>  puts 'Mid: ' + `echo %TIME%`
>  threads.each { |t|
>     if t.alive?
>       pids[t['pid']].each {|pid|
> TerminateProcess.Call(OpenProcess.Call(0x00100001, 0 ,pid),0) }
>       TerminateProcess.Call(t['hProcess'],0)
>     end
>
>  }
>
>  puts 'Stop: ' + `echo %TIME%`
>  puts out if $DEBUG
> #=================================================================
>
>
> Park Heesob
>
>


In This Thread