Who can explain what the second line exactly do ?
this function verify ecdsa signature. the msg is already hashaed and it seems like with sha3(prefix,msgHash) will be hashed twice.
function isSigned(address _addr, bytes32 msgHash, uint8 v, bytes32 r, bytes32 s) public constant returns (bool) {
bytes memory prefix = "\x19Ethereum Signed Message:\n32";
bytes32 prefixedHash = sha3(prefix, msgHash);
return ecrecover(prefixedHash, v, r, s) == _addr;
}