Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

42 lines (31 sloc) 0.752 kb
#ifndef RBX_SIGNAL_HPP
#define RBX_SIGNAL_HPP
#include "util/thread.hpp"
#include <list>
namespace rubinius {
class VM;
struct CallFrame;
class SignalHandler : public thread::Thread {
VM* vm_;
int pending_signals_[NSIG];
int running_signals_[NSIG];
int queued_signals_;
bool executing_signal_;
thread::SpinLock lock_;
int read_fd_;
int write_fd_;
bool exit_;
public:
SignalHandler(VM* vm);
void perform();
void add_signal(int sig, bool def=false);
void handle_signal(int sig);
static void signal_tramp(int sig);
void deliver_signals(CallFrame* call_frame);
void reopen_pipes();
static void on_fork();
static void shutdown();
void shutdown_i();
};
}
#endif
Jump to Line
Something went wrong with that request. Please try again.