S.H.
Tis' the age.
TEACH him, how to say things, and how to speak up, and how to use his WORDS.
Teach him the names for feelings and the sentences to say it.
"I am sad."
I am happy
I am grumpy
I don't want to share
I am tired
I want to stop
I want to go home
I don't want to play
I want to stay
I am hungry
I want to take a break
I want to play
etc.
Teach him, to say... things. Not whine.
Tis' the age.
They start to 'whine' at this age.
But in addition to teaching him how to say his words and names for feelings and sentences he can say, you need to PRACTICE it with him. Role-play it.
Like a rock collecting moss, it can take time.
A kid does not automatically 'know' how to communicate.
It is also okay to cry.
Boys especially, need to learn this. So that in the future they do not get all pent up... and then stop saying how they feel.
Tell your son, Its okay to cry... THEN, REDIRECT him... and teach him coping skills. Other ways of 'reacting' to situations. Make it fun.
ie: Tell him and acknowledge that something is 'frustrating'... THEN what can you do instead? ie: you can laugh, make a joke about it, try it a different way, figure out different ways to do something etc.
Because, everything in this world, can be done in many different ways.
So, he is fine. Just give him 'skills' to look at things differently and then to TRY it. Because it is fun.