Hi Bill, great to see you again in this old thread;
I'm posting this because I was never very confortable with the patch in this thread, as I couldn't understand how it fixed the issue. Maybe in view of the new understanding of the problem we should reconsider the original patch. How is your amule doing RRM?
Absolutely perfect:
I never had a single crash since, while the mule is running 24/7,
uploading 3 MB/s almost constantly,
and using various SVN versions.
Do you remember setting some donwload limits? (I guess upload could cause the same problem, but much harder to achieve)
Yes, i did that at some point in this thread, for a short period, but as that didnt help, i went back to setting no limits,
and the crashes kept on coming, until Stu's last patch.
Since half a year my download and upload limits are both set to 5 MB/s.
(I dont know why i did that, and i didnt make any difference)
Should be easy to verify.
RRM could you
- remove my patch and see if the crashes return
Okay
So, on line 531 in the EMSocket.cpp
, i have to replace this:
if(byConnected == ES_CONNECTED && IsEncryptionLayerReady() && (!m_bBusy || onlyAllowedToSendControlPacket)) {
by this (as it used to be):
if(byConnected == ES_CONNECTED && IsEncryptionLayerReady() && !m_bBusy) {
Correct?
- then see if the wx patch fixes the problem
Ok, Kry's socket_mutex_fix.patch
containing patches for:
src/gtk/gsockgtk.cpp
src/unix/gsocket.cpp
include/wx/unix/gsockunx.h
As there is no gsockgtk.cpp file in my system, I just need to use the patch for gsockunx.h, right?
So, in the gsockunx.h, i replace:
char *m_gui_dependent;
};
#ifdef __cplusplus
by this:
char *m_gui_dependent;
+#if wxUSE_THREADS
+
+ // Implemented in some platforms only for now
+ void LockData();
+ void UnlockData();
+
+ pthread_mutex_t m_thread_mutex;
+
+#endif
};
#ifdef __cplusplus
recompile the entire wxWidgets after patching.
Im sorry, i failed to find in forums how to recompile wxWidgets,
could anyone please explain how to do this?