• [^] # Re: Simple....

    Posté par (site web personnel) . En réponse au message threads periodique. Évalué à 2.

    Je pense qu'il ne devrais pas utiliser du sleep...

    Un select avec un timeout serait plus instruit je pense.

    struct timeval tv;

    while(1)
    {
    /* Pendant 5 secondes maxi */
    tv.tv_sec = 5;
    tv.tv_usec = 0;
    select(0, NULL, NULL, NULL, &tv);
    /* Si condition tu sorts */
    if (condition)
    return 0;
    /* Ton code ici */
    }

    La nuance est que si il reçoit un sigkill ou autre son sleep va pas s'interrompre avant d'être vraiment finis.

    Alors que le select finira avant.

    Enfin j'avais vu ça y a deux ans, je retrouve plus le code donc je sais pas trop comment j'avais fait pour pas me taper le timeout du sleep lorsque le signal de sortie est reçu.