CTlsSocket::~CTlsSocket() { remove_handler(); Uninit(); delete m_pSocketBackend; }
static msg_t SdThread(void *arg){ chRegSetThreadName("MicroSD"); (void)arg; FRESULT err; uint32_t clusters; FATFS *fsp; FIL Log; msg_t id; /* wait until card not ready */ NOT_READY: while (!sdcIsCardInserted(&SDCD1)) chThdSleepMilliseconds(SDC_POLLING_INTERVAL); chThdSleepMilliseconds(SDC_POLLING_INTERVAL); if (!sdcIsCardInserted(&SDCD1)) goto NOT_READY; else insert_handler(); /* fs mounted? */ if (!fs_ready) return RDY_RESET; /* are we have at least 16MB of free space? */ err = f_getfree("/", &clusters, &fsp); err_check(); if ((clusters * (uint32_t)SDC_FS.csize * (uint32_t)MMCSD_BLOCK_SIZE) < (16*1024*1024)) return RDY_RESET; /* open file for writing log */ char namebuf[MAX_FILENAME_SIZE]; name_from_time(namebuf); err = f_open(&Log, namebuf, FA_WRITE | FA_CREATE_ALWAYS); err_check(); /* main write cycle * This writer waits msg_t with mavlink message ID. Based on that ID it * will pack extern mavlink struct with proper packing function. */ setGlobalFlag(GlobalFlags.logger_ready); while (TRUE){ /* wait ID */ if (logwriter_mb.fetch(&id, TIME_INFINITE) == RDY_OK){ if (!sdcIsCardInserted(&SDCD1)){ clearGlobalFlag(GlobalFlags.logger_ready); remove_handler(); goto NOT_READY; } err = WriteLog(&Log, id, &fresh_data); err_check(); } err = fs_sync(&Log); err_check(); } return 0; }
CControlSocket::~CControlSocket() { remove_handler(); DoClose(); delete m_pCSConv; m_pCSConv = 0; }
void ensure_handlers_started() { struct handler *h = handlers; while(h) { struct handler *next = h->next; if(h->h_type == PERSISTENT) { if(!launch_child(h)) { remove_handler(h); } } h = next; } }
void SignalHandler::remove_handler( const std::string & signal, CallbackBase & callback) { int isignal = convert_name_to_signal(signal); if (isignal >= 0) { remove_handler(isignal, callback); } else if (isignal == -1) throw std::runtime_error("signal cannot be handled"); else if (isignal == -2) throw std::runtime_error("signal name invalid"); else throw std::logic_error("invalid value from convert_node_to_signal()"); }
CTransferSocket::~CTransferSocket() { remove_handler(); if (m_transferEndReason == TransferEndReason::none) { m_transferEndReason = TransferEndReason::successful; } ResetSocket(); if (m_transferMode == TransferMode::upload || m_transferMode == TransferMode::download) { if (ioThread_) { if (m_transferMode == TransferMode::download) { FinalizeWrite(); } ioThread_->SetEventHandler(0); } } }
static void syscall_handler(struct intr_frame *f) { void *esp = f->esp; thread_current()->saved_esp = f->esp; // printf("$esp = %p\n",esp); byte_access_ok(esp,false); // hex_dump(esp, esp,16,true); // printf("\n"); int sys_call_num = *(int*) esp; esp += sizeof(int *); byte_access_ok(esp,false); // printf("$sys_call_num = %p\n",sys_call_num); char* argv[5]; switch (sys_call_num) { /* Projects 2 and later. */ //TODO: please retrieve parameters from the stack // and pass them to the handlers. case SYS_HALT: /* Halt the operating system. */ halt_handler(); break; case SYS_EXIT: /* Terminate this process. */ parse_arg(esp, 1, argv); exit_handler((int) argv[0]); break; case SYS_EXEC: /* Start another process. */ parse_arg(esp, 1, argv); f->eax=exec_handler((void*)argv[0]); break; case SYS_WAIT: /* Wait for a child process to die. */ parse_arg(esp, 1, argv); f->eax=wait_handler((int) argv[0]); break; case SYS_CREATE: /* Create a file. */ parse_arg(esp, 2, argv); f->eax=create_handler((void*)argv[0], (unsigned) argv[1]); break; case SYS_REMOVE: /* Delete a file. */ parse_arg(esp, 1, argv); f->eax=remove_handler((void*)argv[0]); break; case SYS_OPEN: /* Open a file. */ parse_arg(esp, 1, argv); f->eax=open_handler((void*)argv[0]); break; case SYS_FILESIZE: /* Obtain a file's size. */ parse_arg(esp, 1, argv); f->eax=filesize_handler((int) argv[0]); break; case SYS_READ: /* Read from a file. */ parse_arg(esp, 3, argv); f->eax=read_handler((int) argv[0], (void*) argv[1], (unsigned) argv[2]); break; case SYS_WRITE: /* Write to a file. */ parse_arg(esp, 3, argv); f->eax=write_handler((int) argv[0], (void*) argv[1], (unsigned) argv[2]); break; case SYS_SEEK: /* Change position in a file. */ parse_arg(esp, 2, argv); seek_handler((int) argv[0], (unsigned) argv[1]); break; case SYS_TELL: /* Report current position in a file. */ parse_arg(esp, 1, argv); f->eax=tell_handler((int) argv[0]); break; case SYS_CLOSE: /* Close a file. */ parse_arg(esp, 1, argv); close_handler((int) argv[0]); break; case SYS_MMAP: parse_arg(esp, 2, argv); f->eax=mmap_handler ((int) argv[0], (void*)argv[1]); break; case SYS_MUNMAP: parse_arg(esp, 1, argv); munmap_handler ((mapid_t) argv[0]); break; default: printf("system call %d not implemented!\n", sys_call_num); } //thread_exit(); }
CRateLimiter::~CRateLimiter() { remove_handler(); }
servers_widget::servers_widget(QWidget *parent) : QWidget(parent), m_smodel(NULL), m_connect_menu(NULL), m_connect_action(NULL), m_remove_action(NULL), m_remove_all_action(NULL), last_server_name(""), last_server_port(0) { setupUi(this); // prepare menus m_connect_menu = new QMenu(this); m_connect_action = new QAction(this); m_connect_action->setText(tr("Connect to")); m_connect_action->setIcon(QIcon(":/emule/common/ConnectDo.ico")); m_remove_action = new QAction(this); m_remove_action->setText(tr("Remove")); m_remove_action->setIcon(QIcon(":/emule/common/DeleteSelected.ico")); m_remove_all_action = new QAction(this); m_remove_all_action->setText(tr("Remove all")); m_remove_all_action->setIcon(QIcon(":/emule/common/DeleteAll.ico")); m_connect_menu->addAction(m_connect_action); m_connect_menu->addSeparator(); m_connect_menu->addAction(m_remove_action); m_connect_menu->addAction(m_remove_all_action); connect(m_connect_action, SIGNAL(triggered()), this, SLOT(connect_handler())); connect(m_remove_action, SIGNAL(triggered()), this, SLOT(remove_handler())); connect(m_remove_all_action, SIGNAL(triggered()), this, SLOT(removeAll_handler())); m_smodel = new servers_table_model(this); m_smodel->load(); m_sort_model = new QSortFilterProxyModel(this); m_sort_model->setSourceModel(m_smodel); tableServers->setModel(m_sort_model); Preferences pref; if (!hsplit->restoreState(pref.value("ServersWidget/HSplitter").toByteArray())) { QList<int> sz; sz << 500 << 100; hsplit->setSizes(sz); } tableServers->horizontalHeader()->setContextMenuPolicy(Qt::CustomContextMenu); vsplit->restoreState(pref.value("ServersWidget/VSplitter").toByteArray()); tableServers->horizontalHeader()->restoreState(pref.value("ServersWidget/TableServers").toByteArray()); connect(tableServers->horizontalHeader(), SIGNAL(sortIndicatorChanged(int, Qt::SortOrder)), this, SLOT(serversSortChanged(int, Qt::SortOrder))); connect(tableServers->horizontalHeader(), SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(displayHeaderMenu(const QPoint&))); connect(tableServers, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(displayPopupMenu(const QPoint&))); tableServers->horizontalHeader()->setSortIndicator(servers_table_model::DC_NAME, Qt::AscendingOrder); }