Hello Guybrush,
thank you for summing this all up! Let's take a look at the issues:
Without this modification I couldn't handle downloads which size was over 1Gb but please bear in mind that this could be necessary only for my particular situation because of the uclibc version built into my toolchain.
Hm, since 9539 UnlimitResource(RLIMIT_FSIZE) is not called anymore if __UCLIBC__ is defined. Please try if it works without this too. (Mind - your patch cuts ALL Unlimits, not just the broken one with the file size.
/* AddLogLineNS((wxT("WARNING! ") + m_name + wxT(": Packet to "))
<< Uint32_16toStringIP_Port(ip, port)
<< wxT(" discarded due to error (") << error << wxT(") while sending."));
I'd just change this to an AddLogLineN and so log it only to the log file and not to the console.
In FileArea.cpp I've done this modification to disable the signal handler:
I think I will just disable the signal handler for __UCLIBC__ .
In ExternalConn.cpp I've commented this portion of code to disable the clients transportation through EC:
This severely cuts into the client visualization of course. Please try:
// Add clients
CECEmptyTag clients(EC_TAG_CLIENT);
const CClientList::IDMap& clientList = theApp->clientlist->GetClientList();
for (CClientList::IDMap::const_iterator it = clientList.begin(); it != clientList.end(); it++) {
const CUpDownClient* cur_client = it->second.GetClient();
if (!cur_client->IsDownloading()) {
continue;
}
CValueMap &valuemap = tagmap.GetValueMap(cur_client->ECID());
clients.AddTag(CEC_UpDownClient_Tag(cur_client, EC_DETAIL_INC_UPDATE, &valuemap));
}
response->AddTag(clients);
This will show the active uploads again at minimum extra CPU load. I could make a preference setting for this.
The idea is that in the future an unpatched amuled should work on your machine.
I don't expect any new problems with current SVN instead of 10360.