Pular para o conteúdo

Signal

Um pequeno fonte demonstrando algumas coisas interessantes usando signals.
Andre Luiz da Silva andrack
Hits: 7.415 Categoria: C/C++ Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Um pequeno fonte demonstrando algumas coisas interessantes usando signals.
Download signal3.c Enviar nova versão

Esconder código-fonte

/* Author: Andre Luiz da Silva
 * Date  : 21/04/2004 
 */

#include <stdio.h>  /* standart C functions */
#include <signal.h> /* signal() */
#include <unistd.h> /* sleep() */

#define DEFAULT_SPEED 5

static unsigned int speed = DEFAULT_SPEED;
int count = 0;

void aumenta_speed (int signal_num)
{
   ++speed;
   signal (SIGUSR1, aumenta_speed);
   /* Associa novamente o tratador de signal, pq em sistemas Linux, quando 
    * um programa recebe um signal ele chama o tratador para aquele signal e
    * automaticamente associa aquele signal para o tratador default */
}

void diminui_speed (int signal_num)
{
   --speed;
   signal (SIGUSR2, diminui_speed);
}

void zera_contador (int signal_num)
{
   count = 0;
   signal (SIGHUP, zera_contador);
}

void default_speed (int signal_num)
{
   speed = DEFAULT_SPEED;
   signal (SIGTERM, default_speed);
}


int main (int argc, char **argv)
{
   signal (SIGUSR1, aumenta_speed);
   signal (SIGUSR2, diminui_speed);
   signal (SIGHUP, zera_contador);
   signal (SIGTERM, default_speed);
   for (; ;++count)
   {
      sleep (speed);
      printf ("%d \n", count);
   }
   return 0;
}
   

Teste de desempenho com números primos em C

Soma entre matrizes

Url visitor

Método da bissecção

Matrizes

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.