コード例 #1
0
ファイル: queue.c プロジェクト: romanetz/controllerFramework
void queueDestroy(QueueClass *queue) {
	eventSourceDestroy(&queue->writeEventSource);
	eventSourceDestroy(&queue->readEventSource);
	mutexDestroy(&queue->readMutex);
	mutexDestroy(&queue->writeMutex);
	free(queue->buffer);
}
コード例 #2
0
 THREAD_ROUTINE_RETURN SocketServer::HandleConnections(void* data)
 {
    SocketServer* server = (SocketServer*) data;
    std::vector<SocketServer::Connection*> clients;
    struct sockaddr_storage client_addr;
    socklen_t addr_size = sizeof(client_addr);
    MutexHandle lock;
    mutexCreate(&lock);
    int client_socket;

    while (!server->shutdown_) {
      if ((client_socket = accept(server->socket_, (struct sockaddr*)&client_addr, &addr_size)) > 0) {
        clients.push_back(new jsonrpc::SocketServer::Connection());
        clients.back()->socket = client_socket;
        clients.back()->pserver = server;
        clients.back()->plock_server = &lock;
        CloseFinishedConnections(clients);
        if (clients.size() > server->poolSize_) {
          CloseOldestConnection(clients);
        }
        threadCreate(&clients.back()->thread, (ThreadStartRoutine)ConnectionHandler, clients.back());
      }
    }
    CloseAllConnections(clients);
    mutexDestroy(&lock);
    return 0;
  }
コード例 #3
0
ファイル: sys_api_td.c プロジェクト: AllenWeb/openjdk-1
/*
 * Cleanup the data structure allocated as above.
 * For JDK 1.2, this function is not called ...
 */
void FinalizeIO() {
    int i;
    for (i = 0; i < fd_limit; i++) {
        mutexDestroy(&fd_table[i].lock);
    }
    sysFree(fd_table);
    fd_table = 0;
}
コード例 #4
0
ファイル: ef_event_loop.cpp プロジェクト: acechat/GPush
EventLoop::~EventLoop() {
    stop();
    while(m_status != STATUS_CLOSED) {
        sleep_ms(50);
        addAsynOperator();
    }
    delAllOp();
    delAllConnections();
    sock_close(m_ctlfd);
    sock_close(m_ctlfd1);
    mutexDestroy(&m_opcs);
    if(m_clean)
        m_clean(this, m_obj);
}
コード例 #5
0
Logger::~Logger()
{
    // close all open files
    for (unsigned int i = 0; i < numLogfiles; i++) {
        if (logfiles[i].file != NULL) {
            fclose(logfiles[i].file);
        }
    }
#ifdef ENABLE_THREADS
    if (threaded) {
        mutexDestroy(&maccess);
    }
#endif
}