Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C] sync tra processi.. non capisco come funziona la pause()

    Salve ragazzi..

    sto usando la pause per aspettare che il padre invii ad un processo figlio un segnale
    (in questo caso)

    codice:
    kill(pid,SIGUSR1);
    nel figlio ho scritto prima del codice che deve essere eseguito la

    codice:
    pause();
    solo che "non esce" mai dalla pausa...
    forse devo settare per forza un gestore del segnale con la signal nel figlio per farlo ripartire?

    Grazie mille!

  2. #2
    codice:
    NAME
           pause - wait for signal
    
    SYNOPSIS
           #include <unistd.h>
    
           int pause(void);
    
    DESCRIPTION
    
           pause()  causes the calling process (or thread) to sleep until a signal
           is delivered that either terminates the process or causes  the  invoca‐
           tion of a signal-catching function.
    
    RETURN VALUE
           pause()  only  returns when a signal was caught and the signal-catching
           function returned.  In this case pause() returns -1, and errno  is  set
           to EINTR.
    
    ERRORS
           EINTR  a signal was caught and the signal-catching function returned.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    si l'avevo letto.. non capisco perchè abbia bisgono dell'handler...


    ho creato una funziona vuota che non fa niente e ho scritto
    signal( segnale, funzionavuota);

    e ora la pause funziona normalmetne


    grazie cmq

  4. #4
    Originariamente inviato da xnavigator
    si l'avevo letto.. non capisco perchè abbia bisgono dell'handler...
    Credo che sia per evitare che segnali "a caso" (=>non previsti da chi ha scritto l'applicazione) sblocchino la pausa.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Originariamente inviato da MItaly
    Credo che sia per evitare che segnali "a caso" (=>non previsti da chi ha scritto l'applicazione) sblocchino la pausa.
    e pure è giusto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.