X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=Kernel%2Fvfs%2Fhandle.c;h=55c841ec0d65ab3e2429d6da2f1b99f153550253;hb=b7553e30c636f469ddceacbe541620cdab2dc433;hp=7d679be2866d3dbf7fbf9901490bbbd6f333fbbd;hpb=b5a1402b18d2f8cb360bf2fc524609b374bac8ec;p=tpg%2Facess2.git diff --git a/Kernel/vfs/handle.c b/Kernel/vfs/handle.c index 7d679be2..55c841ec 100644 --- a/Kernel/vfs/handle.c +++ b/Kernel/vfs/handle.c @@ -13,11 +13,13 @@ #define MAX_KERNEL_FILES 128 // === PROTOTYPES === +#if 0 tVFS_Handle *VFS_GetHandle(int FD); +#endif int VFS_AllocHandle(int FD, tVFS_Node *Node, int Mode); // === GLOBALS === -tVFS_Handle *gaUserHandles = (void*)MM_PPD_VFS; +tVFS_Handle *gaUserHandles = (void*)MM_PPD_HANDLES; tVFS_Handle *gaKernelHandles = (void*)MM_KERNEL_VFS; // === CODE === @@ -60,14 +62,20 @@ int VFS_AllocHandle(int bIsUser, tVFS_Node *Node, int Mode) Uint addr, size; size = CFGINT(CFG_VFS_MAXFILES) * sizeof(tVFS_Handle); for(addr = 0; addr < size; addr += 0x1000) - MM_Allocate( (Uint)gaUserHandles + addr ); + { + if( !MM_Allocate( (Uint)gaUserHandles + addr ) ) + { + Warning("OOM - VFS_AllocHandle"); + Threads_Exit(0, 0xFF); // Terminate user + } + } memset( gaUserHandles, 0, size ); } // Get a handle for(i=0;i