sys_signal.c File Reference

#include "routix/system.h"
#include "routix/debug.h"
#include "sys/syscalls.h"
#include "routix/syscalls.h"
#include "error.h"
#include "string.h"
#include "routix/task.h"
#include "routix/signal.h"

Go to the source code of this file.

Functions

Variables


Function Documentation

int _sys_kill task_struct_t proceso,
int  signo
 

Envía una señal a un proceso.

Parameters:
proceso task_struct del proceso que recibe la señal
signo numero de la señal a enviar
Returns:
-1 en caso de error
Note:
esta funcion pertenece al kernel. No verifica la validez de sa señal ya que esa es tarea de sys_kill. Usar con precaución y solo en Kernel Mode.

Todo:
Analizar POSIX y verificar si cuando un handler vale SIG_IGN, se marca la señal como pendiente pero no se la ejecuta, o si siquiera se marca como pendiente

Referenced by sys_exit_notify(), and sys_kill().

int sys_kill pid_t  pid,
int  signo
 

Envía una señal a un proceso.

Parameters:
pid pid del proceso receptor
signo numero de la señal a enviar
Returns:
-1 en caso de error

Todo:
Evaluar sa_flags de la estructura sigaction

Definition at line 36 of file sys_signal.c.

int sys_sigaction int  signo,
struct sigaction act,
struct sigaction oact
 

establece un handler para una señal (llamada signal)

Parameters:
signo número de la señal
act sigaction que se asosiará a la señal signo
oact lugar donde se retorna el sigaction que se encontraba asociado a signo
Returns:
0 en caso de éxito
Todo:
evaluar sa_flags de la estructura sigaction

Definition at line 194 of file sys_signal.c.

void* sys_signal int  signo,
void(*  func)()
 

establece un handler para una señal (llamada signal)

Parameters:
signo número de la señal
func dirección del handler
Returns:
handler previo
Todo:
Evaluar sa_flags de la estructura sigaction

Definition at line 92 of file sys_signal.c.

void sys_signal_check void   ) 
 

fuerza un chequeo de señales pendientes, y en caso de haberlas, ejecuta sus handlers

Note:
no tiene ninguna utilidad para el usuario. Es ejecutada luego de la ejecución de cada handler es necesaria ya que debe cambiarse la máscara de señales por cada handler
Todo:
Evaluar sa_flags de la estructura sigaction

Definition at line 121 of file sys_signal.c.

void sys_signal_correct void   ) 
 

Corrige el stack antes de recuperar todos los registros del contexto.

Definition at line 104 of file sys_signal.c.

int sys_sigprocmask int  flag,
sigset_t set,
sigset_t old_set
 

establece o verifica la máscara actual

Parameters:
flag indica si se va a establecer, modificar o ambas
set nueva mascara
old_set aqui se colocará la antigua máscara
Returns:
0 en caso de éxito
Note:
Llamada al sistema sigpromask (ver más datos en páginas man 2 de nix*)

increiblemente esta llamada cumple con el item RATIONALE de POSIX :-)

Definition at line 154 of file sys_signal.c.


Variable Documentation

task_struct_t* actual
 

Puntero al task struct de la tarea que realizó la llamada al sistema.

Definition at line 15 of file sys_signal.c.

int(* syscall_signals[MAX_SYSCALLS])(void) =
 

Definition at line 18 of file sys_signal.c.


Generated on Sun May 30 18:38:36 2004 for Routix OS by doxygen 1.3.6