user2281: I am trying to study the locktime feature of transactions ( https://en.bitcoin.it/wiki/Protocol_specification#tx ). I have created some raw transactions in the testnet with different locktimes, but, when I send them, they are confirmed as usual. I have also been able to spend the just sent coins immediately. When I dump the block, the locktime field looks correct. 
How is the locktime checked when confirming a transaction? Can someone point me to the piece of the code that does the checking? 
Or am I wrong and locktime is really not implemented? 

user403: It's checked in the IsFinal() method of CTransaction. A non-final transaction cannot be included in blocks.
A transaction is final if either:

The lock time is in the past.
All of the inputs have sequence numbers equal to UINT_MAX.

The second one is probably what confused you.

2281: <p>I am trying to study the locktime feature of transactions ( <a href="https://en.bitcoin.it/wiki/Protocol_specification#tx">https://en.bitcoin.it/wiki/Protocol_specification#tx</a> ). I have created some raw transactions in the testnet with different locktimes, but, when I send them, they are confirmed as usual. I have also been able to spend the just sent coins immediately. When I dump the block, the locktime field looks correct. </p>

<p>How is the locktime checked when confirming a transaction? Can someone point me to the piece of the code that does the checking? </p>

<p>Or am I wrong and locktime is really not implemented? </p>
 403: <p>It's checked in the IsFinal() method of CTransaction. A non-final transaction cannot be included in blocks.</p>

<p>A transaction is final if <em>either</em>:</p>

<ul>
<li>The lock time is in the past.</li>
<li>All of the inputs have sequence numbers equal to UINT_MAX.</li>
</ul>

<p>The second one is probably what confused you.</p>
