Updated: 44 min 15 sec ago
Don't define B_SPINLOCK_INITIALIZER for test app_server * I don't know what I am doing here, but the test app_server only ever built for me recently when I disabled the define, so I might as well commit this...
Restore creation of the home symlink on the desktop. * apparently, this got lost during the refactoring of the images
More B_PRId32 (I wonder why the last build worked without patching this, though.)
DriveSetup: check if editor view exists in AbstractParametersPanel * Base class needs to check this as well because the subclass might not override it (e.g. InitParametersPanel). * Fixes crash when trying to initialize partition map. Thanks to jessicah for pointing this out.
libbe_build: fix unterminated string in BEntry::set. Fixes #10686. Signed-off-by: Stephan Aßmus
kernel: Properly synchronize suspending new thread After load_image() the child thread is suspended and the parent is expected to resume it later. However, it is possible that the parent attempts to resume its child after it has been notified that the image had been loaded but before the child managed to suspend itself. In such case the child would suspends itself after that wake up attempt and, consequently will not be ever resumed. To mitigate that problem flag Thread::going_to_suspend has been added which helps synchronizing thread suspension and continuation in a similar way that "traditional" thread blocking is performed. This means that the child should behave in a following manner: set its going_to_suspend flag, notify the parent (i.e. any thread that may want to resume it), acquire its scheduler_lock and suspend itself if the going_to_suspend flag is set. The parent should follow pattern: clear going_to_suspend flag of the thread that is about to be resumed, acquire that thread scheduler_lock and enqueue it in a run queue if it is suspended. Thanks Oliver for reporting the bug and identifying what causes it.
kernel/UserEvent: Make sure UserEvent object is valid during DPC Most of the actual UserEvent work is done in DPC so that we don't have to care about the limitations of the context in which UserEvent::Fire() is invoked. This requires appropriate management of lifetime of UserEvent instances to make sure that DoDPC() method is always called on a valid object.
Add files missing in last commit, sorry.
Refactor definition of Haiku image contents. * Move actual definitions of respective image contents to files underneath build/jam/images/definitions (minimum, bootstrap, regular). * HaikuImage now only includes the image definitions for the selected build profile and adds the Haiku packages. * Simplified topmost Jamfile to some extent. * Move definition of DESKBAR_APPLICATIONS and DESKBAR_DESKTOP_APPLETS from build/jam/packages/Haiku to the respective image definition file. * Sort and reformat several lists to make them more readable.
Drop extra packages and note which no longer applies. * now that haikuporter resolves the dependencies correctly, there's no need to add texi2html and htmldoc explicitly
Make set of source packages for bootstrap-image configurable. * Add new build profile 'minimum', which defines a minimum set of packages. * Introduce HAIKU_BOOTSTRAP_SOURCES_PROFILE and let it default to '@minimum-raw'. This can be overruled in UserBuildConfig, setting it to '@release-raw' will cause all source packages required for a full release to be put onto the bootstrap-image. * Add new image HaikuImageMinimum, which is meant to define the minimum useful Haiku image (yeah, I know that's vague). * Add HAIKU_MINIMUM_BUILD, which indicates that HaikuImageMinimum should be used (it would be better to merge this with HAIKU_BOOTSTRAP_BUILD into something like HAIKU_BUILD_TYPE) * Cleanup duplicate references to basic packages - those are now added by the topmost Jamfile (no longer referenced by the build profiles).
Don't copy over package versions into package-list for bootstrap. * This decouples the versions referenced by the architecture-specific repository file from the actual versions available in the haikuports branch that happens to be used for the bootstrap build.
Use B_PRI* instead of PRI* Sorry, didn't realize they're not the same on 32 bit systems.