diff --git a/main.go b/main.go index fa3a299..14f919f 100755 --- a/main.go +++ b/main.go @@ -6,10 +6,9 @@ import ( func main() { f := pgo.CreateFoundation() - defer f.Release() println("foundation:", f) - pvdTr := pgo.DefaultPvdSocketTransportCreate("0.0.0.0", 5426, 100000) + pvdTr := pgo.DefaultPvdSocketTransportCreate("127.0.0.1", 5425, 100000) println("Pvd transport:", pvdTr) pvd := pgo.CreatePvd(f) diff --git a/pgo/pgo.go b/pgo/pgo.go index ca11bf3..ed7d090 100755 --- a/pgo/pgo.go +++ b/pgo/pgo.go @@ -34,7 +34,6 @@ void CPxSceneDesc_set_gravity(struct CPxSceneDesc*, struct CPxVec3); void CPxSceneDesc_set_cpuDispatcher(struct CPxSceneDesc*, struct CPxCpuDispatcher*); */ import "C" -import "unsafe" type PvdInstrumentationFlag uint32 @@ -91,11 +90,9 @@ func (p *PvdTransport) Release() { func DefaultPvdSocketTransportCreate(host string, port, timeoutMillis int) *PvdTransport { - hostCStr := C.CString(host) - defer C.free(unsafe.Pointer(hostCStr)) - + //This CString should NOT be freed because its stored internally. If this is freed connection to PVD will fail p := &PvdTransport{} - p.cPvdTr = C.CPxDefaultPvdSocketTransportCreate(hostCStr, C.int(port), C.int(timeoutMillis)) + p.cPvdTr = C.CPxDefaultPvdSocketTransportCreate(C.CString(host), C.int(port), C.int(timeoutMillis)) return p }