Mercurial > hg > orthanc
view Resources/Patches/dcmtk-3.6.0-speed.patch @ 3103:81b58b549845
back to using 'var' instead of 'let' since let is not supported by many old browsers. All variables declaration have been moved to the top of the function to better show that their scope is the function
author | Alain Mazy <alain@mazy.be> |
---|---|
date | Thu, 10 Jan 2019 10:51:36 +0100 |
parents | bfcf5a7f92e7 |
children |
line wrap: on
line source
diff -urEb dcmtk-3.6.0.orig/dcmnet/libsrc/dul.cc dcmtk-3.6.0/dcmnet/libsrc/dul.cc --- dcmtk-3.6.0.orig/dcmnet/libsrc/dul.cc 2017-03-17 15:49:23.043061969 +0100 +++ dcmtk-3.6.0/dcmnet/libsrc/dul.cc 2017-03-17 15:50:44.075359547 +0100 @@ -630,7 +630,10 @@ if (cond.bad()) return cond; - cond = PRV_NextPDUType(association, block, timeout, &pduType); + /* This is the first time we read from this new connection, so in case it + * doesn't speak DICOM, we shouldn't wait forever (= DUL_NOBLOCK). + */ + cond = PRV_NextPDUType(association, DUL_NOBLOCK, PRV_DEFAULTTIMEOUT, &pduType); if (cond == DUL_NETWORKCLOSED) event = TRANS_CONN_CLOSED; @@ -1770,7 +1773,7 @@ // send number of socket handle in child process over anonymous pipe DWORD bytesWritten; char buf[20]; - sprintf(buf, "%i", OFreinterpret_cast(int, childSocketHandle)); + sprintf(buf, "%i", OFstatic_cast(int, OFreinterpret_cast(size_t, childSocketHandle))); if (!WriteFile(hChildStdInWriteDup, buf, strlen(buf) + 1, &bytesWritten, NULL)) { CloseHandle(hChildStdInWriteDup); @@ -1780,7 +1783,7 @@ // return OF_ok status code DULC_FORKEDCHILD with descriptive text OFOStringStream stream; stream << "New child process started with pid " << OFstatic_cast(int, pi.dwProcessId) - << ", socketHandle " << OFreinterpret_cast(int, childSocketHandle) << OFStringStream_ends; + << ", socketHandle " << OFstatic_cast(int, OFreinterpret_cast(size_t, childSocketHandle)) << OFStringStream_ends; OFSTRINGSTREAM_GETOFSTRING(stream, msg) return makeDcmnetCondition(DULC_FORKEDCHILD, OF_ok, msg.c_str()); } @@ -1840,7 +1843,7 @@ } #endif #endif - setTCPBufferLength(sock); + //setTCPBufferLength(sock); #ifndef DONT_DISABLE_NAGLE_ALGORITHM /* diff -urEb dcmtk-3.6.0.orig/dcmnet/libsrc/dulfsm.cc dcmtk-3.6.0/dcmnet/libsrc/dulfsm.cc --- dcmtk-3.6.0.orig/dcmnet/libsrc/dulfsm.cc 2017-03-17 15:49:23.043061969 +0100 +++ dcmtk-3.6.0/dcmnet/libsrc/dulfsm.cc 2017-03-17 15:49:48.467144792 +0100 @@ -2417,7 +2417,7 @@ return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str()); } #endif - setTCPBufferLength(s); + //setTCPBufferLength(s); #ifndef DONT_DISABLE_NAGLE_ALGORITHM /*