userlibandfileserver/fileserver/sfile/sf_thread.cpp
changeset 2 4122176ea935
parent 0 a41df078684a
child 4 56f325a607ea
equal deleted inserted replaced
0:a41df078684a 2:4122176ea935
   593 
   593 
   594 		if (iRequest)
   594 		if (iRequest)
   595 			iRequest->Process();
   595 			iRequest->Process();
   596 
   596 
   597 		if(iExit)
   597 		if(iExit)
   598 			break;
   598 		    {
   599 		}
   599 		    //Any requests that sneaked on to
   600 
   600 		    //the queue are cancelled in 
       
   601 		    //CRequestThread::ThreadFunction()
       
   602 		    break;
       
   603 		    }
       
   604 		}
   601 	}
   605 	}
   602 
   606 
   603 void CRequestThread::Deliver(CFsRequest* aRequest,TBool aIsFront, TBool aLowPriority)
   607 void CRequestThread::Deliver(CFsRequest* aRequest,TBool aIsFront, TBool aLowPriority)
   604 //
   608 //
   605 // Deliver a request to the list from calling thread
   609 // Deliver a request to the list from calling thread
   645 			iList.AddFirst(*aRequest);
   649 			iList.AddFirst(*aRequest);
   646 		else
   650 		else
   647 			iList.AddLast(*aRequest);
   651 			iList.AddLast(*aRequest);
   648 		iListLock.Signal();
   652 		iListLock.Signal();
   649 		}
   653 		}
   650 
       
   651 
       
   652 	}
   654 	}
   653 
   655 
   654 void CRequestThread::DeliverFront(CFsRequest* aRequest)
   656 void CRequestThread::DeliverFront(CFsRequest* aRequest)
   655 //
   657 //
   656 //
   658 //
   920 CPluginThread::CPluginThread(CFsPlugin& aPlugin)
   922 CPluginThread::CPluginThread(CFsPlugin& aPlugin)
   921   : iPlugin(aPlugin)
   923   : iPlugin(aPlugin)
   922 	{
   924 	{
   923 	/** @prototype */
   925 	/** @prototype */
   924 	iOperationLock.Close();
   926 	iOperationLock.Close();
   925 	}
   927 	iPlugin.Open();
       
   928 	}
       
   929 
       
   930 CPluginThread::~CPluginThread()
       
   931     {
       
   932     iPlugin.Close();
       
   933     }
   926 
   934 
   927 
   935 
   928 CPluginThread* CPluginThread::NewL(CFsPlugin& aPlugin)
   936 CPluginThread* CPluginThread::NewL(CFsPlugin& aPlugin)
   929 	{
   937 	{
   930 	__PRINT(_L("CPluginThread::NewL()"));
   938 	__PRINT(_L("CPluginThread::NewL()"));
   952 	return(id);
   960 	return(id);
   953 	}
   961 	}
   954 
   962 
   955 void CPluginThread::CompleteSessionRequests(CSessionFs* aSession, TInt aValue)
   963 void CPluginThread::CompleteSessionRequests(CSessionFs* aSession, TInt aValue)
   956 	{
   964 	{
   957 	__THRD_PRINT(_L("CPluginThread::CompleteSessionReqeusts()"));
   965 	__THRD_PRINT(_L("CPluginThread::CompleteSessionRequests()"));
   958 	iListLock.Wait();
   966 	iListLock.Wait();
   959 	TDblQueIter<CFsRequest> q(iList);
   967 	TDblQueIter<CFsRequest> q(iList);
   960 	CFsRequest* pR;
   968 	CFsRequest* pR;
   961 	while((pR=q++)!=NULL)
   969 	while((pR=q++)!=NULL)
   962 		{
   970 		{