Logstash tcp input/output

Hey guys

I know there are a couple other questions like this, but I haven't seen behavior like I am seeing surfaced before.

I have two logstash instances, A and B. Here are my configs:
A --

input {
	stdin {}
}

filter {}

output {
	stdout { codec => rubydebug }
	tcp {
		host => "10.12.21.229"
		port => 5000
	}
}

B --

input {
	tcp {
		port => 5000
	}
}

filter {}

output{
	stdout { codec => rubydebug }
}

So with this setup, I'm seeing some strange behavior. My inputs into A aren't immediately being sent across to B. I can send as many "logs" down A and still nothing will show up in the stdout output of B. However, when I quit logstash A (as in ctrl+c and ctrl+c) then it will send across only the very first log from A, but nothing else no matter how many logs I have sent into A (through stdin input). So something seems strange.
Here is my version:

$ /opt/logstash/bin/logstash --version
logstash 1.5.4

Any ideas?

Also so same thing happens when I am running both logstash instances on one machine (host on logstash A is "localhost").