Differenze tra le versioni di "Alarm ()"

Da Gambas-it.org - Wikipedia.
(Creata pagina con 'La funzione della libreria di C unsigned int alarm(unsigned int seconds); imposta un allarme a tempo per l'invio di un segnale ''SIGALRM'' entro tot secondi. Se il parametro ...')
 
Riga 14: Riga 14:
 
   
 
   
 
  <FONT color=Gray>' ''unsigned int alarm(unsigned int seconds)''</font>
 
  <FONT color=Gray>' ''unsigned int alarm(unsigned int seconds)''</font>
  Private <FONT color=#B22222>Extern alarm</font>(secondi As Integer) As Integer
+
  Private Extern <FONT color=#B22222>alarm</font>(secondi As Integer) As Integer
 
    
 
    
 
  Private Extern signal(signum As Integer, sighandler As Pointer)
 
  Private Extern signal(signum As Integer, sighandler As Pointer)
Riga 40: Riga 40:
  
  
Vedi anche la pagina relativa alla ''[[signal()|funzione signal()]]''
+
Vedi anche la pagina relativa alla ''[[Signal_()|funzione signal()]]''

Versione delle 17:49, 17 set 2016

La funzione della libreria di C

unsigned int alarm(unsigned int seconds);

imposta un allarme a tempo per l'invio di un segnale SIGALRM entro tot secondi. Se il parametro della funzione è uguale a zero, non viene attivato nessun allarme e viene disabilitato l'eventuale allarme impostato precedentemente. La funzione alarm() ritorna il numero di secondi che mancano all'invio del segnale SIGALRM.


Volendola utilizzare in Gambas, bisognerà dichiararla con Extern, nonché dichiarare la libreria di C: libc.so.6, nella quale la funzione è contenuta:

Private Extern alarm(secondi As Integer) As Integer In "libc:6"


Semplice esempio di uso in Gambas congiuntamente con la funzione signal():

Library "libc:6"

Private Const SIGALRM As Integer = 14

' unsigned int alarm(unsigned int seconds)
Private Extern alarm(secondi As Integer) As Integer
  
Private Extern signal(signum As Integer, sighandler As Pointer)
 
 
Public Sub Form_Open()

' Gestione del segnale SIGALRM:
  signal(SIGALRM, post_alarm)

' Attivazione del segnale di allarme dopo 3 secondi:
  alarm(3)

End


Private Function post_alarm(segno As Integer) ' (funzione Callback)
 
 Print "\nRicevuto il segnale "; segno; " - Termine del programma"
 
 Me.Close
 
End


Vedi anche la pagina relativa alla funzione signal()