diff -r 0659d0e1a03c -r 1d28c8722707 userlibandfileserver/fileserver/sfile/sf_pool.h --- a/userlibandfileserver/fileserver/sfile/sf_pool.h Wed Oct 20 13:58:28 2010 +0100 +++ b/userlibandfileserver/fileserver/sfile/sf_pool.h Tue Nov 02 15:29:23 2010 +0000 @@ -27,13 +27,14 @@ class CFsPool { public: - static CFsPool* New(TInt aPoolSize); + + static CFsPool* New(TInt aPoolSize,T*(*aNewFunction)()); ~CFsPool(); /* * Allocate returns a pointer of class T. * The pointer returned is removed from the pool. - * When the pool is empty this function will wait. + * WAITs when the pool is empty. */ T* Allocate(); @@ -44,7 +45,7 @@ void Free(T* aBlock); private: CFsPool(); - TInt Construct(TInt aPoolSize); + TInt Construct(TInt aPoolSize,T*(*aNewFunction)()); void Lock(); void Unlock();