/** * Description not yet available. * \param */ dmatrix choleski_decomp_neghess_error(const dmatrix& MM, int& ierror) { ierror=0; // kludge to deal with constantness dmatrix & M= * (dmatrix *) &MM; if (M.colsize() != M.rowsize()) { cerr << "Error in chol_decomp. Matrix not square" << endl; ad_exit(1); } int rowsave=M.rowmin(); int colsave=M.colmin(); M.rowshift(1); M.colshift(1); int n=M.rowmax(); dmatrix L(1,n,1,n); #ifndef SAFE_INITIALIZE L.initialize(); #endif int i,j,k; double tmp; if (M(1,1)>=0) { return onerror(L,ierror); } L(1,1)=sqrt(-M(1,1)); for (i=2;i<=n;i++) { L(i,1)=-M(i,1)/L(1,1); } for (i=2;i<=n;i++) { for (j=2;j<=i-1;j++) { tmp=-M(i,j); for (k=1;k<=j-1;k++) { tmp-=L(i,k)*L(j,k); } L(i,j)=tmp/L(j,j); } tmp=-M(i,i); for (k=1;k<=i-1;k++) { tmp-=L(i,k)*L(i,k); } if (tmp<=0) { return onerror(L,ierror); } L(i,i)=sqrt(tmp); } L.rowshift(rowsave); L.colshift(colsave); return L; }
int main(int argc, const char *argv[]) { char c; int i, len, n; int server_sock, client_sock; socklen_t client_len; struct sockaddr_in server, client; struct in_addr in; if( (server_sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) onerror("socket"); else printf("create socket OK!\n"); bzero(&server, sizeof(server)); server.sin_family = AF_INET; server.sin_port = htons(SERVER_PORT); server.sin_addr.s_addr = htons(INADDR_ANY); if(bind(server_sock, (struct sockaddr *) &server, sizeof(server)) < 0) onerror("bind"); else printf("bind address OK!\n"); if(listen(server_sock, 5) < 0) onerror("listen"); else printf("listen OK!\n"); while(1) { client_len = sizeof(client); if( (client_sock = accept(server_sock, (struct sockaddr *)&client, &client_len )) < 0) { close(server_sock); onerror("accept"); } else { printf("accept client OK!\n"); in.s_addr = client.sin_addr.s_addr; printf("client ip: %s\n", inet_ntoa(in)); printf("client port: %d\n",ntohs(client.sin_port)); } while((len = recv(client_sock, buffer, 256, 0)) > 0) { if(buffer[0] == '.') break; for (i = 0; i < len; i++) { c = buffer[i]; buffer[i] = toupper(c); } n = send(client_sock, buffer, len, 0); } close(client_sock); printf("client close the connect, wait for new connect\n"); } close(server_sock); return 0; return 0; }
void WorkerContext::reportException(const String& errorMessage, int lineNumber, const String& sourceURL) { bool errorHandled = false; if (onerror()) errorHandled = onerror()->reportError(errorMessage, sourceURL, lineNumber); if (!errorHandled) forwardException(errorMessage, lineNumber, sourceURL); }
void WorkerContext::reportException(const String& errorMessage, int lineNumber, const String& sourceURL) { bool errorHandled = false; if (!m_reportingException) { if (onerror()) { m_reportingException = true; RefPtr<ErrorEvent> errorEvent(ErrorEvent::create(errorMessage, sourceURL, lineNumber)); onerror()->handleEvent(this, errorEvent.get()); errorHandled = errorEvent->defaultPrevented(); m_reportingException = false; } } if (!errorHandled) thread()->workerReportingProxy().postExceptionToWorkerObject(errorMessage, lineNumber, sourceURL); }
//-------------------------------------------------------------- void Protocol::_onerror(Event& args){ onerror(args); }
void SocketServer::notifyError(SocketServerError err) { if(!this->onerror) return; onerror(err); }
void FTPCore::run() { ClientThread *clientthread; QList<ClientThread*> connections; if (!InitWinsock()) { emit onerror("WinSock init failed"); qDebug() << "Winsock stopped"; emit onstopped(); return; } if ( INVALID_SOCKET == (msocket=socket(AF_INET,SOCK_STREAM,0))) { emit onerror("Error socket " + QString("%1").arg(WSAGetLastError())); WSACleanup(); qDebug() << "Winsock stopped"; emit onstopped(); return; } sockaddr_in local_addr; local_addr.sin_family=AF_INET; local_addr.sin_port=htons(CONTROL_PORT); local_addr.sin_addr.s_addr=0; // вызываем bind для связывания if (SOCKET_ERROR == bind(msocket,(sockaddr *) &local_addr, sizeof(local_addr))) { emit onerror("Error bind " + QString("%1").arg(WSAGetLastError())); closesocket(msocket); WSACleanup(); qDebug() << "Winsock stopped"; emit onstopped(); return; } if (listen(msocket, MAX_CLIENTS)) { // Ошибка emit onerror("Error listen " + QString("%1").arg(WSAGetLastError())); closesocket(msocket); WSACleanup(); emit onstopped(); qDebug() << "Winsock stopped"; return; } SOCKET client_socket; // сокет для клиента sockaddr_in client_addr; // адрес клиента int client_addr_size=sizeof(client_addr); u_long flag = 1; ioctlsocket(msocket, FIONBIO, &flag); fd_set read_s; // Множество timeval time_out; // Таймаут int res; emit onstarted(); while (true) { FD_ZERO (&read_s); // Обнуляем множество FD_SET (msocket, &read_s); // Заносим в него наш сокет time_out.tv_sec = 0; time_out.tv_usec = 500000; //Таймаут 0.5 секунды. if (SOCKET_ERROR == (res = select (0, &read_s, NULL, NULL, &time_out) ) ) { emit onerror("Select error in FTPCore"); closesocket(msocket); WSACleanup(); qDebug() << "Winsock stopped"; emit onstopped(); return; } if ((res!=0) && (FD_ISSET (msocket, &read_s)) ) // Использую FD_ISSET только для примера! :) { client_socket=accept(msocket, (sockaddr *)&client_addr, &client_addr_size); QString clientAddr = QString("%1:%2").arg(inet_ntoa(client_addr.sin_addr)).arg(client_addr.sin_port); emit onnewconnection(clientAddr); clientthread = new ClientThread(client_socket, clientAddr); connections.append(clientthread); connect(clientthread, SIGNAL(oncloseconnection(QString)),SIGNAL(oncloseconnection(QString))); clientthread->start(); } if (terminated) { break; } } foreach(ClientThread *client , connections) { client->closeconnection(); qDebug() << "Close connection"; client->wait(); qDebug() << "wait"; delete client; }
JSValue* JSXMLHttpRequest::getValueProperty(ExecState* exec, int token) const { switch (token) { case OnabortAttrNum: { return onabort(exec); } case OnerrorAttrNum: { return onerror(exec); } case OnloadAttrNum: { return onload(exec); } case OnloadstartAttrNum: { return onloadstart(exec); } case OnprogressAttrNum: { return onprogress(exec); } case OnreadystatechangeAttrNum: { return onreadystatechange(exec); } case ReadyStateAttrNum: { XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(impl()); return jsNumber(exec, imp->readyState()); } case ResponseTextAttrNum: { XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(impl()); return jsStringOrNull(exec, imp->responseText()); } case ResponseXMLAttrNum: { XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(impl()); return toJS(exec, WTF::getPtr(imp->responseXML())); } case StatusAttrNum: { ExceptionCode ec = 0; XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(impl()); KJS::JSValue* result = jsNumber(exec, imp->status(ec)); setDOMException(exec, ec); return result; } case StatusTextAttrNum: { ExceptionCode ec = 0; XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(impl()); KJS::JSValue* result = jsString(exec, imp->statusText(ec)); setDOMException(exec, ec); return result; } } return 0; }