mirror of
https://github.com/Atmosphere-NX/Atmosphere
synced 2024-11-15 01:26:34 +00:00
More main fixes
This commit is contained in:
parent
741d0f8116
commit
0169e3e3d6
2 changed files with 38 additions and 9 deletions
|
@ -640,7 +640,7 @@ namespace sts::ncm {
|
||||||
|
|
||||||
this->placeholder_accessor.GetPlaceHolderPathUncached(placeholder_path, placeholder_id);
|
this->placeholder_accessor.GetPlaceHolderPathUncached(placeholder_path, placeholder_id);
|
||||||
if (stat(placeholder_path, &st) == -1) {
|
if (stat(placeholder_path, &st) == -1) {
|
||||||
return fsdevGetLastResult();;
|
return fsdevGetLastResult();
|
||||||
}
|
}
|
||||||
|
|
||||||
out_size.SetValue(st.st_size);
|
out_size.SetValue(st.st_size);
|
||||||
|
|
|
@ -76,19 +76,48 @@ void __appExit(void) {
|
||||||
fsExit();
|
fsExit();
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
struct ServerOptions {
|
||||||
{
|
static constexpr size_t PointerBufferSize = 0x400;
|
||||||
static auto s_server_manager = WaitableManager(2);
|
static constexpr size_t MaxDomains = 0;
|
||||||
|
static constexpr size_t MaxDomainObjects = 0;
|
||||||
|
};
|
||||||
|
|
||||||
/* Initialize content manager implementation. */
|
void ContentManagerServerMain(void* arg) {
|
||||||
R_ASSERT(sts::ncm::impl::InitializeContentManager());
|
static auto s_server_manager = WaitableManager<ServerOptions>(1);
|
||||||
|
|
||||||
/* Create services. */
|
/* Create services. */
|
||||||
s_server_manager.AddWaitable(new ServiceServer<sts::ncm::ContentManagerService>("ncm", 0x10));
|
s_server_manager.AddWaitable(new ServiceServer<sts::ncm::ContentManagerService>("ncm", 0x10));
|
||||||
|
|
||||||
|
/* Loop forever, servicing our services. */
|
||||||
|
s_server_manager.Process();
|
||||||
|
}
|
||||||
|
|
||||||
|
void LocationResolverServerMain(void* arg) {
|
||||||
|
static auto s_server_manager = WaitableManager<ServerOptions>(1);
|
||||||
|
|
||||||
|
/* Create services. */
|
||||||
s_server_manager.AddWaitable(new ServiceServer<sts::lr::LocationResolverManagerService>("lr", 0x10));
|
s_server_manager.AddWaitable(new ServiceServer<sts::lr::LocationResolverManagerService>("lr", 0x10));
|
||||||
|
|
||||||
/* Loop forever, servicing our services. */
|
/* Loop forever, servicing our services. */
|
||||||
s_server_manager.Process();
|
s_server_manager.Process();
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
/* Initialize content manager implementation. */
|
||||||
|
R_ASSERT(sts::ncm::impl::InitializeContentManager());
|
||||||
|
|
||||||
|
static HosThread s_content_manager_thread;
|
||||||
|
static HosThread s_location_resolver_thread;
|
||||||
|
|
||||||
|
R_ASSERT(s_content_manager_thread.Initialize(&ContentManagerServerMain, nullptr, 0x4000, 0x15));
|
||||||
|
R_ASSERT(s_content_manager_thread.Start());
|
||||||
|
|
||||||
|
R_ASSERT(s_location_resolver_thread.Initialize(&LocationResolverServerMain, nullptr, 0x4000, 0x15));
|
||||||
|
R_ASSERT(s_location_resolver_thread.Start());
|
||||||
|
|
||||||
|
s_content_manager_thread.Join();
|
||||||
|
s_location_resolver_thread.Join();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
Loading…
Reference in a new issue