本文整理汇总了C++中set_signal函数的典型用法代码示例。如果您正苦于以下问题:C++ set_signal函数的具体用法?C++ set_signal怎么用?C++ set_signal使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了set_signal函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: sig_tstop
RETSIGTYPE
sig_tstop(int i) /* SIGTSTP handler */
{
/* move to the lower left */
screen_end();
fflush(stdout);
/* default the signal handler action */
set_signal(SIGTSTP, SIG_DFL);
/* unblock the TSTP signal */
release_signal(SIGTSTP);
/* send ourselves a TSTP to stop the process */
(void) kill(0, SIGTSTP);
/* reset the signal handler */
set_signal(SIGTSTP, sig_tstop);
/* reinit screen */
screen_reinit();
/* jump back to a known place in the main loop */
longjmp(jmp_int, JMP_RESUME);
/* NOTREACHED */
}
示例2: init
void init(int_ choice){
server_loop_code = new loop_t;
reserve_ids();
console_init();
load_previous_server_state();
server_loop_code->array.name = "server loop code";
//signal(SIGINT, simple_signal_handler);
switch(choice){
case 1:
server_info_init();
if(check_for_parameter("--net-disable", argc_, argv_) == false) net_init();
if(check_for_parameter("--physics-disable", argc_, argv_) == false) physics_init();
if(check_for_parameter("--gametype-disable", argc_, argv_) == false) gametype_init();
if(check_for_parameter("--input-disable", argc_, argv_) == false) input_init(); // signals should still work from the console
break;
case 2:
test_logic_init();
break;
case 3:
set_signal(SIGTERM, true);
break;
default:
printf("WARNING: This was NOT one of the options, terminating\n");
set_signal(SIGTERM, true);
break;
}
server_time = new server_time_t;
}
示例3: query_key
void input_t::keyboard_to_signal(){
const bool alt_key = query_key(SDL_SCANCODE_LALT) || query_key(SDL_SCANCODE_RALT);
if(unlikely(alt_key)){
if(query_key(SDL_SCANCODE_1)){
set_signal(SIGNAL_QUIT_LOOP, true);
}else{
set_signal(SIGNAL_QUIT_LOOP, false);
}
}
}
示例4: set_signals
void set_signals( void )
{
#ifdef SIGWINCH
sigwinch_handler( SIGWINCH );
if( isatty( 0 ) ) set_signal( SIGWINCH, sigwinch_handler );
#endif
set_signal( SIGHUP, sighup_handler );
set_signal( SIGQUIT, SIG_IGN );
set_signal( SIGINT, sigint_handler );
}
示例5: set_signals
void
set_signals()
{
(void) set_signal(SIGINT, sig_leave);
(void) set_signal(SIGQUIT, sig_leave);
(void) set_signal(SIGTSTP, sig_tstop);
#ifdef SIGWINCH
(void) set_signal(SIGWINCH, sig_winch);
#endif
}
示例6: init_window
void init_window(void)
{
load_setting();
//メインウィンドウの外観の設定
main_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(main_window), "cedit");
gtk_window_set_icon(GTK_WINDOW(main_window), get_icon("icon.png"));
gtk_window_move(GTK_WINDOW(main_window), window_x, window_y);
gtk_window_set_default_size(GTK_WINDOW(main_window), window_width, window_height);
//ウィンドウの内部の設定
GtkWidget *main_vbox = gtk_vbox_new(FALSE, 3);
gtk_container_add(GTK_CONTAINER(main_window), main_vbox);
init_bar(main_vbox);
init_editor(main_vbox);
//全体の動作の設定
init_tag();
init_library();
set_action("New", FALSE);
set_action("Save", FALSE);
set_action("Undo", FALSE);
set_action("Redo", FALSE);
set_action("Cut", FALSE);
set_action("Copy", FALSE);
set_action("Delete", FALSE);
static GtkTargetEntry target[] = {{"text/uri-list", 0, 10}};
gtk_drag_dest_set(view, GTK_DEST_DEFAULT_ALL, target, 1, GDK_ACTION_COPY);
gtk_drag_dest_set(main_window, GTK_DEST_DEFAULT_ALL, target, 1, GDK_ACTION_COPY);
set_signal();
}
示例7: main
int main(int ac, char **av, char **env)
{
t_sh *sh;
int stop;
create_env(env);
env = add_builtin_pid(env);
set_signal();
if (ac > 1)
(void)av;
else
{
stop = 0;
sh = get_sh(&stop);
set_terminal(sh);
while (!stop)
{
sh->ft_stdin = dup(STDIN_FILENO);
sh->ft_stdout = dup(STDOUT_FILENO);
start_sh(sh);
ft_putenv("PID_EXECV", NULL);
}
}
return (0);
}
示例8: signal_function
void signal_function(int signal){
if(pull_signal(SIGTERM) && signal == SIGTERM){
printf("Halting the program because of a hang in the loop\n");
assert(false);
}
set_signal(signal, true);
}
示例9: main
int main(void)
{
tls_client_t client = {0};
const char *gnutls_ver = NULL;
time_t start = 0;
time_t end = 0;
int ret = 0;
int i = 0;
/* initialise signal handling */
set_signal();
coap_log_set_level(COAP_LOG_DEBUG);
gnutls_ver = gnutls_check_version(NULL);
if (gnutls_ver == NULL)
{
coap_log_error("Unable to determine GnuTLS version");
return EXIT_FAILURE;
}
coap_log_info("GnuTLS version: %s", gnutls_ver);
ret = tls_init();
if (ret != SOCK_OK)
{
coap_log_error("%s", sock_strerror(ret));
return EXIT_FAILURE;
}
ret = tls_client_create(&client, TRUST_FILE_NAME, CERT_FILE_NAME, KEY_FILE_NAME);
if (ret != SOCK_OK)
{
coap_log_error("%s", sock_strerror(ret));
tls_deinit();
return EXIT_FAILURE;
}
for (i = 0; i < NUM_ITER; i++)
{
start = time(NULL);
ret = client_run(&client);
end = time(NULL);
if (ret != SOCK_OK)
{
coap_log_error("%s", sock_strerror(ret));
tls_client_destroy(&client);
tls_deinit();
return EXIT_FAILURE;
}
coap_log_info("Result: %s", sock_strerror(ret));
coap_log_debug("Time: %d sec", (int)(end - start));
coap_log_debug("Sleeping for %d seconds...", DELAY);
sleep(DELAY);
}
tls_client_destroy(&client);
tls_deinit();
return EXIT_SUCCESS;
}
示例10: gld_fork
pid_t gld_fork(void)
{
pid_t pid;
pid = fork();
if (pid == (pid_t)-1)
{
syslog(LOG_CRIT,"fork() = %s",strerror(errno));
return(pid);
}
else if (pid > (pid_t)0) /* parent returns immediately */
return(pid);
/*---------------------------------------------------
; set the environment for the child process.
;--------------------------------------------------*/
alarm(0); /* turn off any pending alarms */
set_signal(SIGSEGV,sighandler_critical_child);
set_signal(SIGBUS, sighandler_critical_child);
set_signal(SIGFPE, sighandler_critical_child);
set_signal(SIGILL, sighandler_critical_child);
set_signal(SIGXCPU,sighandler_critical_child);
set_signal(SIGXFSZ,sighandler_critical_child);
set_signal(SIGPIPE,sighandler_critical_child);
return(pid);
}
示例11: do_standalone_mode
static void do_standalone_mode(gboolean daemonize)
{
int ret;
int lsock[MAXSOCK];
struct addrinfo *ai_head;
int n;
ret = usbip_names_init(USBIDS_FILE);
if (ret)
err("open usb.ids");
ret = usbip_stub_driver_open();
if (ret < 0)
g_error("driver open failed");
if (daemonize) {
if (daemon(0,0) < 0)
g_error("daemonizing failed: %s", g_strerror(errno));
usbip_use_syslog = 1;
}
set_signal();
ai_head = my_getaddrinfo(NULL, PF_UNSPEC);
if (!ai_head)
return;
n = listen_all_addrinfo(ai_head, lsock);
if (n <= 0)
g_error("no socket to listen to");
for (int i = 0; i < n; i++) {
GIOChannel *gio;
gio = g_io_channel_unix_new(lsock[i]);
g_io_add_watch(gio, (G_IO_IN | G_IO_ERR | G_IO_HUP | G_IO_NVAL),
process_comming_request, NULL);
}
info("usbipd start (%s)", version);
main_loop = g_main_loop_new(FALSE, FALSE);
g_main_loop_run(main_loop);
info("shutdown");
freeaddrinfo(ai_head);
usbip_names_free();
usbip_stub_driver_close();
return;
}
示例12: th_start
void th_start()
{
if (th_initialized) return;
main_thread.u = &main_data;
threads[0] = &main_thread;
th_it = 1;
set_signal(dispatcher);
th_initialized = 1;
}
示例13: set_signal
FeatureExtractionSpectral::FeatureExtractionSpectral(SAMPLE* signal, int bufSize, int fs, int winSize, int hopSize){
set_signal(signal);
set_bufSize(bufSize);
set_fs(fs);
set_winSize(winSize);
set_hopSize(hopSize);
calculate_fBinSize();
calculate_magSpec();
}
示例14: handle_sigint
static void handle_sigint(void)
{
syslog(LOG_DEBUG,"Interrupt Signal");
save_state();
GlobalsDeinit();
set_signal(SIGINT,SIG_DFL);
raise(SIGINT);
}
示例15: handle_sigquit
static void handle_sigquit(void)
{
syslog(LOG_DEBUG,"Quit signal");
save_state();
GlobalsDeinit();
set_signal(SIGQUIT,SIG_DFL);
raise(SIGQUIT);
}