Pierre Mallard a écrit 49 commentaires

  • [^] # Re: Include

    Posté par  . En réponse au message CVS et fichiers hard-linkés. Évalué à 1.

    pour finir voila le script final, si quelqu'un a mieux ca reste un brouillon hein...

    #!/bin/bash
    MY_REP=$CWD
    mkdir -p $SERVER
    cd $SERVER
    find ./ \( -name "*.in" -o -name "*.am" -o -name "*.sh" -o -name "*.[ch]" \) -exec rm {} \;
    cd $CLIENT
    find ./ \( -name "*.in" -o -name "*.am" -o -name "*.sh" -o -name "*.[ch]" \) -exec cp --parent -l {} $SERVER/ \;
    cd $MY_REP
    exit 0
  • [^] # Re: Include

    Posté par  . En réponse au message CVS et fichiers hard-linkés. Évalué à 1.

    Oui bon c'etait pour voir si vous suiviez mais ce script est buggé et je suis incapable de le faire fonctionner :
    le $FIND_NAME n'est pas compris tel quel dans la commande find. J'ai essayé toutes les combinaisons : ' \" etc etc...
    FIND_NAME=-name "*.in" -o -name "*.am" -o -name "*.sh" -o -name "*.[ch]"
    find ./ -type f $FIND_NAME
    n'output pas ce qu'il ferait sans passer par FIND_NAME.
    (
    en faisant :
    find ./ -type f -name "*.in" -o -name "*.am" -o -name "*.sh" -o -name "*.[ch]"
    Ca marche.
    )
  • [^] # Re: Include

    Posté par  . En réponse au message CVS et fichiers hard-linkés. Évalué à 1.

    Le projet est constitué déjà de plusieurs lib mais ceratines parties de codes communes sont "customisées" suivant le tye de binaire à compiler.
    C'est choix sont réalisés par le passage d'option à configure. (utilisation des autotools). D'une manière générale, le besoin se fait sentir à partir du moment ou l'on travaille avec des options à configure et que l'on a besoin de travailler en parrallèle sur l'ensemble des binaires.
    Voici un petit script que j'ai réalisé :
    ===========================================================
    #!/bin/bash
    MY_REP=$CWD
    FIND_NAME=-name "*.in" -o -name "*.am" -o -name "*.sh" -o -name "*.[ch]"
    cd $SERVER
    find ./ -type f $FIND_NAME -exec rm {} \;
    cd $CLIENT
    find ./ -type f $FIND_NAME -exec cp --parent -l {} $SERVER/ \;
    cd $MY_REP
    ===========================================================
    ATTENTION bien initialiser SERVER et CLIENT sinon ca efface tout le home !

    Y'a sans doute mieux... notamment parsing de la sortie de cvs (mais comment s'intégrer à emacs) et gestion des repertoires vides.
  • [^] # Re: a savoir

    Posté par  . En réponse au message Je suis toujours à l'heure d'hiver !!. Évalué à 1.

    Effectivement mon systeme etait en UTC :

    dans /etc/conf.d/clock

    CLOCK="local" au lieu de CLOCK="UTC"

    Merci beaucoup !!
  • [^] # Re: PID

    Posté par  . En réponse au message SIGINT dans une boucle infinie. Évalué à 1.

    Et bien je n'ai pas envie de devoir killer mon bash en ineractif
    Et si je reste sur le script je trouve plus simple le TRAP qui ne demande a l'utilisateur que de faire juste un CTRL-C...
    De toute maniere j'aimerais bien comprendre pourquoi ca ne fonctionne pas en ligne de commande ... ?

    PPS : bon le trap exit INT n'est pas interessant en interactif, mais j'aimerais pouvoir utiliser le trap break INT dans le while ...
  • # PCRE

    Posté par  . En réponse au message regex.h Lazy Mode. Évalué à 2.

    Bon pour conclure la glibc n'implemente pas, pour l'instant, les comportements non-greedy (ou lazy quoi) du type *? +? ou encore ?? ce qui est tres bizarres car quasi vitale en regex mais il y a une solution :
    Pour cela, il faut utiliser la lib PCRE. (pcre_exec, pcre_compile ...)

    Bon du coup je poste pas de code je risque de pas etre fully compatible ANSI C ISO 99... Des fois que ca jetterai le trouble chez quelques personnes... ANSI rigides...
  • [^] # Re: Une idee comme ça...

    Posté par  . En réponse au message regex.h Lazy Mode. Évalué à 2.

    Bon c'est bien gentil tout ca mais le but c'est pas d'avoir 20/20 a mon exo et que le prof soit content de moi mais de faire rapidement un petit exemple qui compile pour que les gens m'aide à resoudre mon probleme.... Merci de ne pas debattre de savoir si il faut mettre (void) plutot que () dans int main() ou autre par la suite, CA NE M'INTERESSE PAS.
  • [^] # Re: Je suis pas sur d'avoir compris mais

    Posté par  . En réponse au message malloc_hook et multithread. Évalué à 1.

    Je n'ai pas essayé tes solutions mais pour la premiere elle risque d'aller pointer sur malloc et free de la libc ne changeant pas le probleme.

    Je me suis rendu compte que le simple fait d'exporter mes malloc et free dans le programme avec meme proto meme nom que les malloc et free originaux suffisait pour qu'ils soient pris en compte. du coup je defini malloc et free sans utiliser les hook et j'appelle __libc_malloc et __libc_free dans le code de malloc et free respectivement.
    Je pense que les hook n'offrent pas de moyens d'etre thread safe.

    En tout cas merci pour ton aide.
  • [^] # Re: Je suis pas sur d'avoir compris mais

    Posté par  . En réponse au message malloc_hook et multithread. Évalué à 3.

    effectivement c'est ce que j'avais fait. le probleme vient lorsque tu as cette sequence :

    Thread 1:
    appel de malloc
    ->my_malloc_hook
    ->pthread_mutex_lock(&mutex); //mutex non pris a ce moment
    -> __malloc_hook = old_malloc_hook;
    (old_malloc_hook est initialise au valeurs nominale à l'init et jamais modifié)
    -> appel de malloc normal car __malloc_hook a été restaurer

    La le scheduler lance un autre thread qui appel dans la sequence malloc :

    Thread 2 :
    ...
    appel de malloc
    a ce moment le __malloc_hook est initialisé a la valeur par defaut (par Thread 1) et donc c'est le malloc standard qui est réalisé, moralité Thread2 n'est pas en attente sur le mutex car il ne passe pas par my_malloc_hook mais directement par le malloc standard...
    Il faudrait que j'appelle la fonction qui réalise réellement le malloc (qui n'est qu'un wrapper) a la place de malloc(size) ligne 3, mais je ne la connais.
    J'ai essayé __libc_malloc mais elle utilise aussi __malloc_hook.

    Utilisé old_malloc_hook (en utilisant direcctement ret_ptr) n'a rien donné car elle sont à nul par défaut, malloc devant utilisé un autre système quand _malloc_hook n'est pas instantié par l'utilisateur.
  • [^] # Re: libdl

    Posté par  . En réponse au message Une librairie pour convertir les adresses de programmes en nom de fonction ou de fichier et ligne ??. Évalué à 1.

    Merci bien pour ton aide.
    Il faudra que je test un peu mieux tout ca mais a priori, seul le dli_fname est rempli avec le nom du fichier binaire et dli_sname est à nul...
    addr2line fonctionne tres bien lui ...

    Voici mon utilisation de mem_get_info
    ptr est une adresse programme valide et dl_info une structure non initialisée.
    dladdr renvoie toujours different de 0 et dli_sname est positionnée à null.

    static void mem_get_info(void * ptr,Dl_info * dl_info){
    if (!dladdr(ptr, dl_info)){
    dl_info->dli_fname = "error";
    dl_info->dli_sname = "error";
    }
    }

    Que devrais je m'attendre à avoir dans dli_sname (la ligne C, le numero de ligne ??)
  • [^] # Re: alors la je dis tout de suite

    Posté par  . En réponse au message Une librairie pour convertir les adresses de programmes en nom de fonction ou de fichier et ligne ??. Évalué à 1.

    Juste pour clarifier les choses :
    __cyg_profile_func_enter(&MaString, void *callsite) et son pendant sur exit sont des fonctions qui permettent de tracer toutes les entrees et sorties de fonctions d'un programme.
    Il suffit qu'elles soient definies dans ta table des symboles pour qu'elles soient automatiquement utilisées (...enter appellés sur appel de fonction et ...exit sur le retour).
    Ceci juste pour dire que je choisis pas le proto de ces fonctions et que je dois bien faire avec...!
    Merci quand meme pour ton soutien...!
  • [^] # Re: coupleur UHF VHF ?

    Posté par  . En réponse au message Pinnacle PCTV Studio/Rave. Évalué à 1.

    Deux questions si possible :
    -C' est quoi un coupleur UHF VHF ?
    -Le probleme peut il venir du driver ?
  • [^] # Re: coupleur UHF VHF ?

    Posté par  . En réponse au message Pinnacle PCTV Studio/Rave. Évalué à 1.

    pardon uhf vhf
  • [^] # Re: coupleur UHF VHF ?

    Posté par  . En réponse au message Pinnacle PCTV Studio/Rave. Évalué à 1.

    Bon donc c'est normal a priori de commencer à 21...
    Je vien de regarder canal +, l'image est un peu crade mais ca marche bien et j'ai le son... Il faudrait creuser cote uvh et tout ca.. je vais regarder
    Merci
  • [^] # Re: coupleur UHF VHF ?

    Posté par  . En réponse au message Pinnacle PCTV Studio/Rave. Évalué à 1.

    Merci pour ta participation :)
    Et bien sur ma tele ca marche bien, j'ai toutes les chaines qu'il faut (1-6)...
    Sinon que penses tu du log de scantv :
    est-ce que ca te semble normal que les chaines commence à 21 et pas à 1 ? (En dehors des K... et H.. dont je ne sais rien)??
  • [^] # Re: gateway et compagnies ...

    Posté par  . En réponse au message Emulation Server Client sur la meme machine. Évalué à 1.

    Merci pour ta reponse.
    J'avais pensé à QEMU mais apparement il a l'air relativement gourmand niveau perfos (comme je voulais tirer le meilleur parti de ma machine).
    Je vai aller voir coté UML dont je n'avais pas entendu parler ...
  • [^] # Re: gateway et compagnies ...

    Posté par  . En réponse au message Emulation Server Client sur la meme machine. Évalué à 1.

    J'entends bien que c'est possible avec deux machines , (c'est d'ailleurs ce que j'ai fait lorsque je me suis rendu compte que je n'arrivais pas a mes fins avec une seule) simplement je me demandais comme ca histoire de pas mourir idiot s'il n'y avait pas un moyen qui m'aurait alors permis d'economiser une machine ?
  • [^] # Re: gateway et compagnies ...

    Posté par  . En réponse au message Emulation Server Client sur la meme machine. Évalué à 1.

    Oui effectivement mais je ne suis pas intéressé par tester la relation client serveur sans la gateway.

    une passerelle est une machine reliée à deux réseaux différentys.

    C'est exact... Et c'est bien ce que j'ai en ayant deux interfaces dans deux sous reseaux differents.

    En fait mon probleme c'est que lorsque je ping une ip, le noyau regarde d'abord si l'ip est sur ces interfaces avant de regarder ses tables de routages.
    J'ai le meme resultat si j'utilise la capacite de bind (-I) du ping.
  • # Je veux pas chipoter mais ...

    Posté par  . En réponse au message Xlib - bords actifs - demande conseils. Évalué à 3.

    Ne t'etonnes pas si tu as des segfault :

    execute_programm = (char *) malloc(strlen(argv[1]))


    et le caractère nul a la fin ?

    execute_programm = (char *) malloc(strlen(argv[1])+1)


    char *cmd = (char *) malloc(strlen(execute_programm)+strlen(id)+64);


    La je comprends pas le 64 a la fin ... si c'est pour les deux entiers si je calcule ca nous fait 10 caracteres ( voir 11 pour les negatifs ) l'entier donc la vingtaine les deux, les quelques espaces etc etc... on va dire la trentaine le tout ?.

    Bon je chipotte... ==================>[ ]
  • [^] # Re: sed ou vi

    Posté par  . En réponse au message substitution d'une chaine dans un fichier texte. Évalué à 2.

    Ohh hey et emacs aussi y peux le faire hey
    Ctl-Alt-% c'est encore mieux la ! :)
  • [^] # Re: ces réactions sont contradictoires..

    Posté par  . En réponse au journal Lutte antispam ... radicale. Évalué à 4.


    ... et les rendrait peu etre plus comprehensif et plus tolérant...


    Tu veux dire comme toi ou ... ?
  • [^] # Re: Thread perl

    Posté par  . En réponse au message les threads .... Évalué à 2.

    Tout à fait d'accord je les ai essayé et ils ne sont pas évident du tout à manipuler (notamment pour ce qui est de la nécessité de déclarer explicitement l'ensemble des variables à partager, mais aussi leurs valeurs ...)

    Par contre je me suis permis de remarquer que tu avais un module GUI, ... alors un bon conseil si par hasard tu utilises Gtk2 n'utilise pas les threads perl, d'après mon expérience ce n'est pas compatible.
    Il vaut mille fois mieux utiliser le sequencer de la glib pour scheduler differentes parties du code (ex : Glib::Timeout)...

    Voila ...!
  • [^] # Re: autofs

    Posté par  . En réponse au message MONTAGE AUTOMATIQUE ET ACCES DES FICHIERS. Évalué à 2.

    Mea Culpa, apparemment autofs n'est pas aussi approprié que fstab pour ton besoin...
    Il apparait donc plus logique d'utiliser fstab (et de regler le probleme la) que de deporter le probleme en utilisant autofs ....
    ----------->[]!
  • # autofs

    Posté par  . En réponse au message MONTAGE AUTOMATIQUE ET ACCES DES FICHIERS. Évalué à 2.

    Pour la première partie de ta question, tu peux certainement utiliser autofs.
    Desole je ne connais pas très bien la conf mais c'est le process qui va te monter automatiquement tes disques en fonction de fichier de confs
    Fait un man autofs pour plus de precision ...
    Desole de ne pas pouvoir t'en dire plus ...
  • # Heu ...

    Posté par  . En réponse au message Utilisation de Net::LDAP. Évalué à 2.


    $msg = $ldap->bind(dn=>$login, password=> $motdepasse);


    Je me trompe ou $login et $motdepasse ne sont pas initialisés ??