I read around and i am confused, some references refer to signal from RC to servo as pWM signal other claimed its PPM signal.
Here's a picture I ripped off this pi forum page:
The servo pulse is Pulse Width Modulated, but with a gap (the gap is where other servo's will get their signal). Pulse Position Modulation is actually something different (the gap changes).
The other use of the term Pulse Width Modulation refers to a signal which goes from completely low, thru wider and wider pulses until, when full on, it is 100% high. This is the sort of signal used to control the speed of motors and is used by the Arduino for the analogWrite() function.
... using pulsein() claimed to stop other processes in arduino snip
That is true to an extent.
Once pulseIn() is called it waits for a pulse, measures it and then returns its length - during which time your program is 'stopped' waiting for it to finish.
However, since the servo signal repeats every 20 milliseconds or so (if it is there), then you can give pulseIn() a timeout value, so this...
duration = pulseIn(pin, HIGH, 30000 ); // read pulse, timeout in 30,000uS (30mS)
...will only 'hold up' your program for 30 milliseconds maximum. The return value will be zero (no pulse found) or a value representing the length of the pulse.