Home » U++ Library support » U++ MT-multithreading and servers » MT on Linux?
MT on Linux? [message #14762] |
Thu, 13 March 2008 16:08 |
mrjt
Messages: 705 Registered: March 2007 Location: London
|
Contributor |
|
|
I was just wondering whther anyone is using multi-threading on Linux, as I'm having a variety of problems with it. Basically I have two programs with a client/server relationship. Both are Upp, server is a console app and the client has a GUI.
This works perfectly on Windows, but on Linux (KDE) I'm seeing the following problems:
1- Running a single thread in the server causes many (10+) seemingly identical processes to be added (as visible on the task-manager equivalent). Why?
2- I still see the issue that Chameleon only works in MT mode.
3- The GUI app has heap leaks that only appear when compiled with MT. I have tested this on a literally empty program (just GUI_APP_MAIN { }) and they still occur. This is particularly annoying because of (2), and I suspect these issues may be related.
4- It's very easy to make the GUI lock-up. I'm doing this:
Main window with progress bar
Thread doing something across the network
Thread updates the progress bar (via callback)
On network error the thread trigger a callback that does the following, then exits the thread:
void OnError(String txt)
{
Exclamation(txt);
wnd.Close();
SetExitCode(2);
}
The main window locks up after the Close call.
The only similar problem I had with Win32 was that it's possible to trigger the ASSERT(!IsPainting()) in Ctrl::WindowProc if you call Exclamation at the wrong time, and I can't see way to do any sort of lock since IsPainting is private.
I know I should submit some test cases, but I'm going to try installing a native GTK distribution first and see if the problems persist. Am I the only one having these problems?
Cheers,
James
[Updated on: Thu, 13 March 2008 16:09] Report message to a moderator
|
|
|
Goto Forum:
Current Time: Sat Apr 20 13:06:06 CEST 2024
Total time taken to generate the page: 0.04180 seconds
|