mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 01:59:02 +00:00
Backout my lyxserver changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6038 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
c6c442f03b
commit
1c72ddd91f
@ -1,3 +1,9 @@
|
||||
2003-02-05 Angus Leeming <leeming@lyx.org>
|
||||
|
||||
* lyxserver.C (read_ready): revert my patch of 11 September last year
|
||||
as it sends PC cpu through the roof. Presumably this means that
|
||||
the lyxserver will no longer run on an Alpha...
|
||||
|
||||
2003-01-30 Angus Leeming <leeming@lyx.org>
|
||||
|
||||
* factory.C (createInset): create an InsetCommandParam of type "index"
|
||||
|
@ -272,38 +272,40 @@ void LyXComm::read_ready()
|
||||
if (status > 0) {
|
||||
charbuf[status] = '\0'; // turn it into a c string
|
||||
read_buffer_ += rtrim(charbuf, "\r");
|
||||
|
||||
} else if (errno != EAGAIN) {
|
||||
// commit any commands read
|
||||
while (read_buffer_.find('\n') != string::npos) {
|
||||
// split() grabs the entire string if
|
||||
// the delim /wasn't/ found. ?:-P
|
||||
string cmd;
|
||||
read_buffer_= split(read_buffer_, cmd,'\n');
|
||||
lyxerr[Debug::LYXSERVER]
|
||||
<< "LyXComm: status:" << status
|
||||
<< ", read_buffer_:" << read_buffer_
|
||||
<< ", cmd:" << cmd << endl;
|
||||
if (!cmd.empty())
|
||||
clientcb(client, cmd);
|
||||
//\n or not \n?
|
||||
}
|
||||
}
|
||||
if (errno == EAGAIN) {
|
||||
errno = 0;
|
||||
return;
|
||||
}
|
||||
if (errno != 0) {
|
||||
lyxerr << "LyXComm: " << strerror(errno) << endl;
|
||||
if (!read_buffer_.empty()) {
|
||||
lyxerr << "LyXComm: truncated command: "
|
||||
<< read_buffer_ << '\n'
|
||||
<< "Resetting connection" << endl;
|
||||
<< read_buffer_ << endl;
|
||||
read_buffer_.erase();
|
||||
}
|
||||
|
||||
// reset connection
|
||||
closeConnection();
|
||||
openConnection();
|
||||
break;
|
||||
|
||||
} else {
|
||||
// errno == EAGAIN
|
||||
// Nothing new has arrived, so now's the time
|
||||
// to tell the outside world if there's anything
|
||||
// in the read buffer.
|
||||
break;
|
||||
break; // reset connection
|
||||
}
|
||||
}
|
||||
|
||||
if (!read_buffer_.empty()) {
|
||||
read_buffer_ = rtrim(read_buffer_, "\n");
|
||||
lyxerr[Debug::LYXSERVER]
|
||||
<< "LyXComm: Received from fd "
|
||||
<< infd << '\n'
|
||||
<< '\"' << read_buffer_ << '\"' << endl;
|
||||
clientcb(client, read_buffer_);
|
||||
}
|
||||
|
||||
// The connection gets reset in errno != EAGAIN
|
||||
// Why does it need to be reset if errno == 0?
|
||||
closeConnection();
|
||||
openConnection();
|
||||
errno = 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user