diff --git a/src/servers/app/AppServer.cpp b/src/servers/app/AppServer.cpp index 378b86fd7b..567ee08c8f 100644 --- a/src/servers/app/AppServer.cpp +++ b/src/servers/app/AppServer.cpp @@ -33,6 +33,7 @@ #include #include #include +#include #include "BitmapManager.h" #include "ColorSet.h" @@ -286,13 +287,12 @@ AppServer::LaunchInputServer() fISThreadID = B_ERROR; - while (find_thread(BPrivate::kRosterThreadName) == B_NAME_NOT_FOUND && !fQuittingServer) { + while (!BRoster::Private().IsMessengerValid(false) && !fQuittingServer) { snooze(250000); + BRoster::Private::DeleteBeRoster(); + BRoster::Private::InitBeRoster(); } - // we sleep a bit more - snooze(1000000); - if (fQuittingServer) return;