int main(int argc, char *argv[]) { char *host=NULL; /* "hostname" or "user@hostname" */ char *path; /* path to socket */ char *p; char *text=NULL; char *timeout_str=NULL; int timeout = 1; if (argc<2 || argc>4) { fprintf(stderr, "%s: unrecognized arguments\n" "usage: %s /path/to/socket [text] [timeout]\n" " %s remote_user@remote_host:/path/to/socket [text] [timeout]\n", argv[0], argv[0], argv[0]); exit(1); } p=strdup(argv[1]); log_fp=stderr; if((path=strchr(p,':')) != NULL) { host=p; *path='\0'; path++; } else { path=p; } if (argc >= 3) text = argv[2]; if (argc == 4) { timeout_str = argv[3]; int read_timeout = atoi(timeout_str); if (read_timeout > 0) timeout = read_timeout; } init_signal_handlers(); setlinebuf(stdout); setlinebuf(stderr); if (host) { logprintf(MY_NAME,"connecting through ssh to %s on %s",path,host); connect_ssh(host,path,text,timeout_str); } else { logprintf(MY_NAME,"connecting directly to %s",path); init_tty(); connect_direct(path,text,timeout); cleanup_tty(); } if (time_to_die != 0) { logprintf(MY_NAME,"got signal %d, exiting",time_to_die); } return 0; }
main(int argc,char *argv[], char *envp[]) { char *host=NULL; /* "hostname" or "user@hostname" */ char *path; /* path to socket */ char *p; char *cmd=NULL; int timeout = 1; struct sigaction act; if(argc<2 || argc>4) { fprintf(stderr, "%s: unrecognized arguments\nusage: %s /path/to/socket [cmd] [timeout]\n %s remote_user@remote_host:/path/to/socket [cmd]\n", argv[0], argv[0], argv[0]); exit(1); } p=strdup(argv[1]); log_fp=stderr; if(path=strchr(p,':')) { host=p; *path='\0'; path++; } else { path=p; } if (argc >= 3) cmd = argv[2]; if (argc == 4) { int read_timeout = atoi(argv[3]); if (read_timeout > 0) timeout = read_timeout; } /* catch SIGINT and send character \003 over the link */ act.sa_handler=control_c_pressed; sigemptyset(&(act.sa_mask)); act.sa_flags=0; sigaction(SIGINT,&act,0); /* catch SIGCHLD and exit */ act.sa_handler=tears_in_the_rain; sigemptyset(&(act.sa_mask)); act.sa_flags=SA_RESETHAND; sigaction(SIGCHLD,&act,0); sigaction(SIGQUIT,&act,0); if(host) { logprintf("attachtty","connecting through ssh to %s on %s\n",path,host); connect_ssh(host,path,cmd); } else { logprintf("attachtty","connecting directly to %s\n",path); connect_direct(path,cmd,timeout); } }
void nld_d_to_a_proxy::start() { nld_base_d_to_a_proxy::start(); register_sub("RV", m_RV); register_terminal("1", m_RV.m_P); register_terminal("2", m_RV.m_N); register_output("_Q", m_Q); register_subalias("Q", m_RV.m_P); connect_direct(m_RV.m_N, m_Q); save(NLNAME(m_last_state)); }
ATTR_COLD void matrix_solver_t::start() { register_output("Q_sync", m_Q_sync); register_input("FB_sync", m_fb_sync); connect_direct(m_fb_sync, m_Q_sync); save(NLNAME(m_last_step)); save(NLNAME(m_cur_ts)); save(NLNAME(m_stat_calculations)); save(NLNAME(m_stat_newton_raphson)); save(NLNAME(m_stat_vsolver_calls)); save(NLNAME(m_iterative_fail)); save(NLNAME(m_iterative_total)); }