Use pthread_kill() in raise()

raise() should use pthread_kill() in a pthreads environment.
For bionic this means it should always be used.

Change-Id: Ic679272b664d2b8a7068b628fb83a9f7395c441f
diff --git a/libc/bionic/raise.c b/libc/bionic/raise.cpp
similarity index 89%
rename from libc/bionic/raise.c
rename to libc/bionic/raise.cpp
index 7b03a7a..f69d90b 100644
--- a/libc/bionic/raise.c
+++ b/libc/bionic/raise.cpp
@@ -25,10 +25,14 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include <unistd.h>
-#include <signal.h>
 
-int raise(int signum)
-{
-    return kill(gettid(), signum);
+#include <pthread.h>
+
+int raise(int sig) {
+  int rc = pthread_kill(pthread_self(), sig);
+  if (rc != 0) {
+    errno = rc;
+    return -1;
+  }
+  return 0;
 }