Re[7]: Красота кода
От: iix  
Дата: 31.01.06 20:19
Оценка:
Здравствуйте, Я писали:

iix>И как на твой взгляд какая функция красивей?


Как вам эти многократные CloseHandle их бы как нить зделать по другому например так:

bool CIMProto::Login2(char *login,char *pass,u_long status)
{
    unsigned int thrdaddr;

    if(connected && !logining)
    {
        recvthrd=0;
        __try
        {
        if(sendmtx=CreateMutex(NULL,false,NULL))
        {
            DbgPrint("Login2: send CreateMutex error...");
            return false;
        }
        
        if(recvmtx=CreateMutex(NULL,false,NULL))
        {
            DbgPrint("Login2: recv CreateMutex error...");
            return false;
        }
        
        if(pingthrd=(HANDLE)_beginthreadex(NULL,0,(PTHREAD)PingThread,this,0,&thrdaddr))
        {
            DbgPrint("Login2: ping _beginthreadex error...");
            return false;
        }

        if(recvthrd=(HANDLE)_beginthreadex(NULL,0,(PTHREAD)RecvThread,this,0,&thrdaddr))
        {
            DbgPrint("Login2: recv _beginthreadex error...");
            return false;
        }
        }
        __finally
        {
            if(!recvthrd)
            {
            CloseHandle(sendmtx);
            CloseHandle(recvmtx);
            TerminateThread(pingthrd,0);
            WaitForSingleObject(pingthrd,INFINITE);
            CloseHandle(pingthrd);
            }
        }

        DbgPrint("Login2: successfull...");

        return true;
    }

    DbgPrint("Login2: not connected or loginning error...");

    return false;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.