kill() is as specified in the POSIX 1003.1-2008 (ISO/IEC 9945-2009), but with differences as listed below.
If pid is specified as -1, sig shall not be sent to the calling process. Other than this, the rules in the POSIX 1003.1-2008 (ISO/IEC 9945-2009) apply.
Rationale: This was a deliberate Linus decision after an unpopular experiment in including the calling process in the 2.5.1 kernel. See "What does it mean to signal everybody?", Linux Weekly News, 20 December 2001, http://lwn.net/2001/1220/kernel.php3