Is there a way to duplicate this code using C?
The goal is to launch multiple ruby processes from a C program.
Mike B.
Is there a way to duplicate this code using C?
The goal is to launch multiple ruby processes from a C program.
Mike B.
barjunk wrote:
Is there a way to duplicate this code using C?
A very probably yes. Passenger does it. Others (mongrel, etc…) do it.
So can you
kaspar
On Wed, 2009-09-09 at 15:35 +0900, barjunk wrote:
Is there a way to duplicate this code using C?
The goal is to launch multiple ruby processes from a C program.
Mike B.
from http://www.gidforums.com/t-11552.html
mod to meet needs…google for more info…
#include <stdio.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <stdlib.h>
int main()
{
int i;
pid_t cpid;
pid_t child_pid;
cpid = fork();
switch (cpid) {
case -1: printf("Fork failed; cpid == -1\n");
break;
case 0: child_pid = getpid();
for (i = 0; i < 10; i++) {
printf("%d: this is the child, pid = %d\n", i,
child_pid);
sleep(1);
}
exit(0);
default: printf("This is the parent: waiting for %d to
finish\n", cpid);
waitpid(cpid, NULL, 0);
printf(“Ttttthat’s all, folks\n”);
}
return 0;
}
On Sep 9, 5:08 am, Reid T. [email protected] wrote:
pid_t cpid; sleep(1);
Thanks for this. I should have been more specific and say that I was
trying to write ruby code in C to then launch the forks…so I really
mean to duplicate the ruby code to be ruby code …in C…
Kaspar,
Passenger does it, but using ruby. Mongrel doesn’t install yet in
1.9, although I need to still go through the online code…I’m going
to guess they do it in ruby as well.
Any chance you could point me to actual code that does this? I looked
at eventmachine too, but I’m not good enough to figure out what I
need, which is kinda why I’m here.
Again, thanks for any tips.
Mike B.
On Thu, 2009-09-10 at 08:05 +0900, Mike B. wrote:
On Sep 9, 5:08 am, Reid T. [email protected] wrote:
On Wed, 2009-09-09 at 15:35 +0900, barjunk wrote:
Is there a way to duplicate this code using C?
Any chance you could point me to actual code that does this? I looked
at eventmachine too, but I’m not good enough to figure out what I
need, which is kinda why I’m here.Again, thanks for any tips.
Mike B.
perhaps a look at ruby2c…
On Sep 10, 8:57 am, Mike B. [email protected] wrote:
Thanks for this. I should have been more specific and say that I was
at eventmachine too, but I’m not good enough to figure out what I
whirl.Mike B.
ruby2c still not working, I filed a bug report:
http://rubyforge.org/tracker/index.php?func=detail&aid=27086&group_id=443&atid=1766
Mike B.
On Sep 10, 5:32 am, Reid T. [email protected] wrote:
Kaspar,
Mike B.
perhaps a look at ruby2c…
Another good idea. I’m having trouble getting that to work as
well… There is an upgrade to 1.0.0.7 so I’m going to give that a
whirl.
Mike B.
Hi Mike,
Any chance you could point me to actual code that does this? =A0I
looke=
d
at eventmachine too, but I’m not good enough to figure out what I
need, which is kinda why I’m here.
I think you need to look at ruby as just another executable. There are
plenty of examples on the net on how to do
if (! fork()) {
exec(SOME_PROGRAM);
}
on the net. Ruby isn’t any different - when forked and execed it is
just a binary.
kaspar
PS: Didn’t see your reply on my nttp server
–
I’m trying a new usenet client for Mac, Nemo OS X, since 0 days.
You can download it at http://www.malcom-mac.com/nemo
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs