Changeset 3b1426dce275c146696e284ef7e2a97e29f16847

Show
Ignore:
Timestamp:
02/09/12 12:33:20 (3 months ago)
Author:
David C. Lonie <loniedavid@…>
Parents:
cdbef0057e4f15619cdc19e6e3fe32b490bdf055, f47c5505c30559e53309acf51db69912dec55033
Children:
5a9bb82c30cb2d37f28bcd39eb822b9ecdc2039d
git-committer:
David C. Lonie <loniedavid@…> (02/09/12 12:33:20)
Message:

Merge branch 'MAINT_use_sys_libssh'

Location:
src
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • src/globalsearch/sshconnection.cpp

    r2c6c6bd7 rf47c5505  
    8080    } 
    8181 
    82     // Set a three timeout, check every 50 ms for new data. 
     82    // Set a three second timeout, check every 50 ms for new data. 
    8383    int bytesAvail; 
    8484    int timeout = 3000; 
     
    410410    // Read output 
    411411    char buffer[SSH_BUFFER_SIZE]; 
    412     int len; 
    413     while ((len = channel_read(channel, buffer, sizeof(buffer), 0)) > 0) { 
    414       ossout.write(buffer,len); 
     412    int bytesAvail; 
     413    // Wait three seconds for output 
     414    int timeout = 3000; 
     415    do { 
     416      bytesAvail = channel_poll(channel, 0); 
     417      if (bytesAvail == 0) { 
     418        GS_MSLEEP(50); 
     419        timeout -= 50; 
     420      } 
     421    } 
     422    while (timeout > 0 && bytesAvail == 0); 
     423 
     424    if (bytesAvail == SSH_ERROR) { 
     425      qWarning() << "Poll returns error:" << ssh_get_error(m_session); 
     426      channel_close(channel); 
     427      channel_free(channel); 
     428      END; 
     429      return false; 
     430    } 
     431 
     432    while ((bytesAvail = channel_read(channel, buffer, sizeof(buffer), 0)) > 0) { 
     433      ossout.write(buffer,bytesAvail); 
    415434    } 
    416435    stdout_str = QString(ossout.str().c_str()); 
    417     while ((len = channel_read(channel, buffer, sizeof(buffer), 1)) > 0) { 
    418       osserr.write(buffer,len); 
     436    while ((bytesAvail = channel_read(channel, buffer, sizeof(buffer), 1)) > 0) { 
     437      osserr.write(buffer,bytesAvail); 
    419438    } 
    420439    stderr_str = QString(osserr.str().c_str()); 
  • src/globalsearch/queuemanager.cpp

    r895efff6 r1a1332b7  
    791791  void QueueManager::killStructure(Structure *s) { 
    792792    // End job if currently running 
     793    s->lock()->lockForWrite(); 
     794    s->stopOptTimer(); 
    793795    if ( s->getStatus() != Structure::Optimized ) { 
    794       s->lock()->lockForWrite(); 
    795       s->stopOptTimer(); 
    796796      s->setStatus(Structure::Killed); 
    797       s->lock()->unlock(); 
    798797    } 
    799798    else { 
    800       s->lock()->lockForWrite(); 
    801       s->stopOptTimer(); 
    802799      s->setStatus(Structure::Removed); 
    803       s->lock()->unlock(); 
    804     } 
     800    } 
     801    s->lock()->unlock(); 
    805802    stopJob(s); 
    806803    emit structureKilled(s); 
     
    877874  void QueueManager::stopJob(Structure *s) 
    878875  { 
     876    m_jobStartTracker.lockForWrite(); 
     877    m_jobStartTracker.remove(s); 
     878    m_jobStartTracker.unlock(); 
    879879    m_opt->queueInterface()->stopJob(s); 
    880880  } 
     
    971971               "The requested structures counter has become negative."); 
    972972 
    973     qDebug() << "New structure accepted (" << s->getIDString() << ")"; 
     973    qDebug() << "New structure received (" << s->getIDString() << ")"; 
    974974 
    975975    m_newStructureTracker.unlock(); 
     
    10011001 
    10021002    m_tracker->append(s); 
     1003    qDebug() << "New structure accepted (" << s->getIDString() << ")"; 
    10031004 
    10041005    m_newStructureTracker.unlock(); 
  • src/xtalopt/ui/tab_init.cpp

    r6e811664 ra1503b25  
    432432    } 
    433433  } 
    434  
    435434}