Publi

  • Conociendo el proceso que me ha enviado una señal (signal)

    Hace tiempo hablábamos de capturar señales, aunque en ocasiones, es necesario saber quién me envía esa señal, si por ejemplo nos envían un SIGINT o SIGTERM, tal vez queremos saber qué proceso nos quiere muerto y qué usuario lo ha invocado. O tal vez estamos esperando una señal de control (SIGUSR1, por ejemplo) por parte de un proceso cliente específico.

    El problema es que por nuestro modo actual de direccionar señales (con signal(señal, funcion)) sólo comunicamos el número de señal que se ha recibido, sin más información.… Leer artículo completo

  • Un método para gobernarlos a todos. Identificando quién me llama. [ gtkmm ]

    culpablesUna de las características que primero quise probar con Gtk era la posibilidad de crear varios botones, que en su signal_clicked llamaran todos al mismo método, y sea éste el que identifique de dónde viene la llamada. Por ejemplo, en Delphi, siempre que se genera un evento onClick se envía la información del Sender al evento para este mismo propósito.

    En el siguiente ejemplo, crearemos un objeto de la clase Sender (que será nuestra ventana principal)

    [ sendermain.cpp ]

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #include <gtkmm.h>
    #include "sender.h"

    int main(int argc, char *argv[])
    {
      Main entorno (argc, argv);

      // Creamos la ventana
      Sender swin;

      // Ejecutamos
      entorno.
    Leer artículo completo