117cbae24SRene Gollent/*
217cbae24SRene Gollent * Copyright 2015, Rene Gollent, rene@gollent.com.
317cbae24SRene Gollent * Distributed under the terms of the MIT License.
417cbae24SRene Gollent */
517cbae24SRene Gollent
617cbae24SRene Gollent#include "SignalInfo.h"
717cbae24SRene Gollent
817cbae24SRene Gollent#include <string.h>
917cbae24SRene Gollent
1017cbae24SRene Gollent
1117cbae24SRene GollentSignalInfo::SignalInfo()
1217cbae24SRene Gollent	:
1317cbae24SRene Gollent	fSignal(0),
1417cbae24SRene Gollent	fDeadly(false)
1517cbae24SRene Gollent{
1617cbae24SRene Gollent	memset(&fHandler, 0, sizeof(fHandler));
1717cbae24SRene Gollent}
1817cbae24SRene Gollent
1917cbae24SRene Gollent
2017cbae24SRene GollentSignalInfo::SignalInfo(const SignalInfo& other)
2117cbae24SRene Gollent	:
2217cbae24SRene Gollent	fSignal(other.fSignal),
2317cbae24SRene Gollent	fDeadly(other.fDeadly)
2417cbae24SRene Gollent{
2517cbae24SRene Gollent	memcpy(&fHandler, &other.fHandler, sizeof(fHandler));
2617cbae24SRene Gollent}
2717cbae24SRene Gollent
2817cbae24SRene Gollent
2917cbae24SRene GollentSignalInfo::SignalInfo(int signal, const struct sigaction& handler,
3017cbae24SRene Gollent	bool deadly)
3117cbae24SRene Gollent	:
3217cbae24SRene Gollent	fSignal(signal),
3317cbae24SRene Gollent	fDeadly(deadly)
3417cbae24SRene Gollent{
3517cbae24SRene Gollent	memcpy(&fHandler, &handler, sizeof(fHandler));
3617cbae24SRene Gollent}
3717cbae24SRene Gollent
3817cbae24SRene Gollent
3917cbae24SRene Gollentvoid
4017cbae24SRene GollentSignalInfo::SetTo(int signal, const struct sigaction& handler, bool deadly)
4117cbae24SRene Gollent{
4217cbae24SRene Gollent	fSignal = signal;
4317cbae24SRene Gollent	fDeadly = deadly;
4417cbae24SRene Gollent
4517cbae24SRene Gollent	memcpy(&fHandler, &handler, sizeof(fHandler));
4617cbae24SRene Gollent}
47