package main
/*
#include <pthread.h>
#include <stdio.h>
void block() {
printf("Blocking main thread? %d\n", pthread_main_np());
while(1);
}
*/
import "C"
import (
"fmt"
"runtime"
)
func init() {
runtime.LockOSThread()
go main()
C.block()
}
func main() {
fmt.Println("Blocking main goroutine?", C.pthread_main_np())
}This prints out the following:
$ go run threadtrick.go
Blocking main thread? 1
Blocking main goroutine? 0
--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/6b476ab1-c6b6-4f77-91d8-aba2dfbcc314%40googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to golan...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/5e80ed26-09c5-4133-875e-4b0f72e9e2af%40googlegroups.com.