#2 closed task (fixed)
Port all important basic classes from src/corelib
Reported by: | Silvan Scherrer | Owned by: | Silvan Scherrer |
---|---|---|---|
Priority: | major | Milestone: | QtCore Beta |
Component: | QtCore | Version: | 4.5.1 Beta 1 |
Severity: | Keywords: | ||
Cc: |
Description (last modified by )
Tracker for general discussion about the milestone.
Change History (11)
comment:1 Changed 15 years ago by
Status: | new → accepted |
---|---|
Type: | defect → task |
comment:2 Changed 15 years ago by
Summary: | port of all basic classes → Port of all basic classes |
---|
comment:3 Changed 15 years ago by
Description: | modified (diff) |
---|---|
Summary: | Port of all basic classes → Port all important basic classes from src/corelib |
comment:4 Changed 15 years ago by
comment:6 Changed 15 years ago by
Well, QtCore4.dll {{almost}} builds now (almost = some unimplemented key classes are still disabled so weakld reports about many unresolved externals and the link stage fails). Moving back to individual tasks.
comment:7 Changed 15 years ago by
Ok, after r77 I finally got the first version of QtCore4.dll compiled and built. I'll do some more tests tomorrow and I expect to close the milestone after that.
comment:8 Changed 15 years ago by
The examples/thread/semaphores example seems to build work at first sight, but there are some problems with atomic operations (used for mutex and condition variable implementations) where they are actually not atomic. Investigating.
comment:9 Changed 15 years ago by
Okay, it turned out that blindly copying the QMutex stuff from Qt3 was incorrect: as said above, Qt4 uses atomic operations for mutexes therefore the only native primitive necessary for QMutex is an event semaphore, not a native mutex as one may think (using "lightweight" atomic ops for QMutex makes locking/unlocking much faster in cases when several intensive worker threads fight for the mutex; the native primitive is not involved at all in this case). Fixed in r82.
The examples/thread/semaphores example works now, as well as waitconditions, Whoo! I think it's enough for the first beta version of QtCore4.
comment:10 Changed 15 years ago by
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
I think that this milestone can be considered as done.
Before I can go further with individual classes, I need to make some common work like taking OS/2 platform into account in global headers (where not already done), in .pro and .pri files and make sure a dummy QtCore?.dll can be built.
I'm working on that now.