Ошибка с Fork и NodeJS - PullRequest
0 голосов
/ 23 мая 2011

Я пытаюсь использовать NodeJS с программой на C для http://en.wikipedia.org/wiki/Setvbuf для файлов JS с использованием Fork ().

Моя программа.c:

int readTabStr(int k)
{
char * tabString[] = {"p1.js","p2.js","p3.js","p4.js"};
int taille = sizeof(tabString)/sizeof(char);
int i;
    for(i=0; i<taille; i++)
    {
        if (fork() == 0)
        {
            execlp("node","node", tabString[i], NULL);
        }
        else
        {
            wait(NULL);
        }
    }
return 0;
}

IЯ использую этот файл JS для запуска файла C:

var FFI = require("../../lib/ffi");

var test = new FFI.Library("./readTab", {
"readTabStr": ["int", ["int" ]]  
});

var resultat = test.readTabStr(0);

Проблема заключается в том, что после выполнения p1.js, p2.js, p3.jsn p4.js.Я получаю 4 сообщения об ошибках:

node.js:116
throw e; // process.nextTick error, or 'error' event on first tick
^

Error: Cannot find module '/home/fighter/Documents/ffi/kerrighed/execlp/��$[]�U
`enter code here`��E��E��U��S������1�'
at Function._resolveFilename (module.js:299:11)
at Function._load (module.js:245:25)
at Array.<anonymous> (module.js:402:10)
at EventEmitter._tickCallback (node.js:108:26)

Есть идеи?

1 Ответ

1 голос
/ 23 мая 2011

Решено,

Проблема была

 int taille = sizeof(tabString)/sizeof(char);

Я должен сделать:

int taille = sizeof(tabString)/sizeof(char*);

В любом случае, спасибо.

...