Skip to content

Commit

Permalink
some improvements;
Browse files Browse the repository at this point in the history
  • Loading branch information
F1ash committed Apr 21, 2015
1 parent 1875885 commit be1e7ce
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 23 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt.user
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 3.3.2, 2015-04-20T09:34:06. -->
<!-- Written by QtCreator 3.3.2, 2015-04-21T21:17:16. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
Expand Down
3 changes: 3 additions & 0 deletions src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@

int main(int argc, char *argv[])
{
if ( virInitialize()+1 ) {
virEventRegisterDefaultImpl();
};
/*
* WARNING:
* for work askpass need to run
Expand Down
19 changes: 7 additions & 12 deletions src/virt_objects/virt_connect/conn_alive_thread.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,9 @@ void ConnAliveThread::run()
openConnect();
int probe = 0;
int ret;
if ( keep_alive && registered ) {
if ( keep_alive ) {
/* Use if virEventRegisterDefaultImpl() is registered */
ret = virConnectSetKeepAlive(conn, 10, 3);
ret = virConnectSetKeepAlive(conn, 3, 10);
if ( ret<0 ) {
sendConnErrors();
closeConnect();
Expand All @@ -64,7 +64,7 @@ void ConnAliveThread::run()
while ( keep_alive ) {
if ( virEventRunDefaultImpl() < 0 ) {
sendConnErrors();
if ( ++probe>2 ) break;
//if ( ++probe>2 ) break;
};
};
} else {
Expand All @@ -90,15 +90,10 @@ void ConnAliveThread::run()
}
void ConnAliveThread::openConnect()
{
if ( virInitialize()+1 ) {
registered = (virEventRegisterDefaultImpl()==0)?true:false;
emit connMsg( QString("default event implementation registered: %1")
.arg(QVariant(registered).toString()) );
//conn = virConnectOpen(URI.toUtf8().constData());
auth.cb = authCallback;
auth.cbdata = this;
conn = virConnectOpenAuth(URI.toUtf8().constData(), &auth, 0);
};
//conn = virConnectOpen(URI.toUtf8().constData());
auth.cb = authCallback;
auth.cbdata = this;
conn = virConnectOpenAuth(URI.toUtf8().constData(), &auth, 0);
//qDebug()<<"openConn"<<conn;
if (conn==NULL) {
sendConnErrors();
Expand Down
1 change: 0 additions & 1 deletion src/virt_objects/virt_connect/conn_alive_thread.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ class ConnAliveThread : public QThread

virConnectPtr conn = NULL;
virErrorPtr virtErrors;
bool registered;

public slots:
void setData(QString&);
Expand Down
18 changes: 10 additions & 8 deletions src/vm_viewer/lxc/lxc_viewer_thread.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ void LXC_ViewerThread::sendDataToDisplay(virStreamPtr _stream)
switch ( got ) {
case -2:
// This is basically EAGAIN
return;
break;
case 0:
// Received EOF from stream, closing
closeStream();
Expand All @@ -130,13 +130,13 @@ void LXC_ViewerThread::sendDataToDisplay(virStreamPtr _stream)
msg = QString("In '<b>%1</b>': EOF.").arg(domain);
emit errorMsg(msg);
emit termEOF();
qDebug()<<"EOF emited";
return;
//qDebug()<<"EOF emited";
break;
case -1:
// Error stream
virStreamAbort(_stream);
closeStream();
return;
break;
default:
// send to TermEmulator stdout useing ptySlaveFd
for ( int i=0; i<got; i++ ) {
Expand Down Expand Up @@ -169,16 +169,18 @@ void LXC_ViewerThread::sendDataToVMachine(const char *buff, int got)
}
void LXC_ViewerThread::closeStream()
{
qDebug()<<"stream close:";
//qDebug()<<"stream close:";
if ( NULL!=stream ) {
unregisterStreamEvents();
if ( virStreamFinish(stream)<0 ) {
sendConnErrors();
};
virStreamFree(stream);
if ( virStreamFree(stream)<0 ) {
sendConnErrors();
};
stream = NULL;
qDebug()<<"stream closed";
//qDebug()<<"stream closed";
};
qDebug()<<"stream closed already";
//qDebug()<<"stream closed already";
keep_alive = false;
}
2 changes: 1 addition & 1 deletion src/vm_viewer/lxc/lxc_viewer_thread.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@ public slots:
void setData(QString&, virDomainPtr, int);
void run();
void stop();
int registerStreamEvents();
void sendDataToVMachine(const char*, int);

private slots:
int registerStreamEvents();
int unregisterStreamEvents();
static void freeData(void*);
static void streamEventCallBack(virStreamPtr, int, void*);
Expand Down

0 comments on commit be1e7ce

Please sign in to comment.