fsInit fix
This commit is contained in:
parent
3fae8817cc
commit
fb1dc89eab
@ -14,6 +14,9 @@
|
|||||||
/*! FSUSER handle */
|
/*! FSUSER handle */
|
||||||
static Handle fsuHandle;
|
static Handle fsuHandle;
|
||||||
|
|
||||||
|
// used to determine whether or not we should do FSUSER_Initialize on fsuHandle
|
||||||
|
Handle __get_handle_from_list(char* name);
|
||||||
|
|
||||||
/*! Initialize FS service
|
/*! Initialize FS service
|
||||||
*
|
*
|
||||||
* @returns error
|
* @returns error
|
||||||
@ -21,7 +24,10 @@ static Handle fsuHandle;
|
|||||||
Result
|
Result
|
||||||
fsInit(void)
|
fsInit(void)
|
||||||
{
|
{
|
||||||
return srvGetServiceHandle(&fsuHandle, "fs:USER");
|
Result ret;
|
||||||
|
if((ret=srvGetServiceHandle(&fsuHandle, "fs:USER"))!=0)return ret;
|
||||||
|
if(__get_handle_from_list("fs:USER")==0)ret=FSUSER_Initialize(NULL);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*! Deinitialize FS service
|
/*! Deinitialize FS service
|
||||||
@ -62,7 +68,12 @@ Result
|
|||||||
FSUSER_Initialize(Handle* handle)
|
FSUSER_Initialize(Handle* handle)
|
||||||
{
|
{
|
||||||
if(!handle)
|
if(!handle)
|
||||||
|
{
|
||||||
|
// don't run command if we got handle from the list
|
||||||
handle = &fsuHandle;
|
handle = &fsuHandle;
|
||||||
|
if(fsuHandle != 0 && __get_handle_from_list("fs:USER")==0)
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ static int __name_cmp(const char* a, const char* b) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static Handle __get_handle_from_list(char* name) {
|
Handle __get_handle_from_list(char* name) {
|
||||||
if((u32)__service_ptr == 0)
|
if((u32)__service_ptr == 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user