Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 7 of 7 for _cgo_tsan_release (0.15 sec)

  1. src/runtime/cgo/gcc_mmap.c

    	_cgo_tsan_acquire();
    	p = mmap(addr, length, prot, flags, fd, offset);
    	_cgo_tsan_release();
    	if (p == MAP_FAILED) {
    		/* This is what the Go code expects on failure.  */
    		return (uintptr_t)errno;
    	}
    	return (uintptr_t)p;
    }
    
    void
    x_cgo_munmap(void *addr, uintptr_t length) {
    	int r;
    
    	_cgo_tsan_acquire();
    	r = munmap(addr, length);
    	_cgo_tsan_release();
    	if (r < 0) {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Aug 25 20:58:13 UTC 2023
    - 916 bytes
    - Viewed (0)
  2. src/runtime/cgo/libcgo.h

    __attribute__ ((unused))
    static void _cgo_tsan_acquire() {
    	__tsan_acquire(&_cgo_sync);
    }
    
    __attribute__ ((unused))
    static void _cgo_tsan_release() {
    	__tsan_release(&_cgo_sync);
    }
    
    #else // !defined(CGO_TSAN)
    
    #define _cgo_tsan_acquire()
    #define _cgo_tsan_release()
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Feb 13 20:50:04 UTC 2024
    - 3.5K bytes
    - Viewed (0)
  3. src/runtime/cgo/gcc_stack_darwin.c

    	// bounds points into the Go stack. TSAN can't see the synchronization
    	// in Go around stack reuse.
    	_cgo_tsan_acquire();
    	bounds[0] = (uintptr)addr - size;
    	bounds[1] = (uintptr)addr;
    	_cgo_tsan_release();
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 16 01:32:45 UTC 2024
    - 617 bytes
    - Viewed (0)
  4. src/runtime/cgo/gcc_ppc64x.c

    	}
    }
    
    extern void crosscall_ppc64(void (*fn)(void), void *g);
    
    static void*
    threadentry(void *v)
    {
    	ThreadStart ts;
    
    	ts = *(ThreadStart*)v;
    	_cgo_tsan_acquire();
    	free(v);
    	_cgo_tsan_release();
    
    	// Save g for this thread in C TLS
    	setg_gcc((void*)ts.g);
    
    	crosscall_ppc64(ts.fn, (void*)ts.g);
    	return nil;
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Aug 09 03:13:11 UTC 2023
    - 1.3K bytes
    - Viewed (0)
  5. src/runtime/cgo/gcc_freebsd_amd64.c

    	}
    }
    
    extern void crosscall1(void (*fn)(void), void (*setg_gcc)(void*), void *g);
    static void*
    threadentry(void *v)
    {
    	ThreadStart ts;
    
    	ts = *(ThreadStart*)v;
    	_cgo_tsan_acquire();
    	free(v);
    	_cgo_tsan_release();
    
    	crosscall1(ts.fn, setg_gcc, (void*)ts.g);
    	return nil;
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Aug 22 22:06:46 UTC 2023
    - 1.5K bytes
    - Viewed (0)
  6. src/runtime/cgo/gcc_stack_unix.c

    	// bounds points into the Go stack. TSAN can't see the synchronization
    	// in Go around stack reuse.
    	_cgo_tsan_acquire();
    	bounds[0] = (uintptr)addr;
    	bounds[1] = (uintptr)addr + size;
    	_cgo_tsan_release();
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 24 03:44:11 UTC 2024
    - 1.5K bytes
    - Viewed (0)
  7. src/runtime/cgo/gcc_linux_amd64.c

    	}
    }
    
    extern void crosscall1(void (*fn)(void), void (*setg_gcc)(void*), void *g);
    static void*
    threadentry(void *v)
    {
    	ThreadStart ts;
    
    	ts = *(ThreadStart*)v;
    	_cgo_tsan_acquire();
    	free(v);
    	_cgo_tsan_release();
    
    	crosscall1(ts.fn, setg_gcc, (void*)ts.g);
    	return nil;
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Aug 22 22:06:46 UTC 2023
    - 2.3K bytes
    - Viewed (0)
Back to top