Bonsoir,
dans le cadre de mon stage, je dois réaliser une application en C qui doit enregistrer des adresses IP avec leur MAC dans une BD. L'application doit pouvoir vérifier plusieurs VLAN (une bonne vingtaine avec des masques de sous-réseau différents)

mon problème est le suivant :
j'aimerais bien threader l'application afin qu'elle fonctionne plus vite. Seulement, je remarque que lorsque mon applicationest sur le même VLAN, elle met le même temps d'exécution avec 1 thread ou avec 6 threads.

voici la façon dont je réalise le ping :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
sprintf(cping,"ping -c %d -s %d -w %d %s",lec->nombre_req,lec->taille_req,lec->temps,ip);
ret=system(cping);
je crois que la fonction "system" n'est pas réentrante. Ce qui (je crois) bloque les threads.

J'aurais bien voulu savoir comment je pourrait faire. J'ai déjà essayé de faire les ping avec les execs. Seulement, avec 6 threads, cela ralenti considérablement la machine.

Est-ce qu'il y aurait un autre moyen?
merci d'avance
Fredonouille