A lightweight mechanism to provide an *instant kickstart* to a Go web server instance upon changing any Go source files under the project directory (and its subdirectories).

go12.c 497B

123456789101112131415161718192021222324
  1. // Copyright 2012 The Go Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style
  3. // license that can be found in the LICENSE file.
  4. // +build windows
  5. // +build !go1.3
  6. // copied from pkg/runtime
  7. typedef unsigned int uint32;
  8. typedef unsigned long long int uint64;
  9. #ifdef _64BIT
  10. typedef uint64 uintptr;
  11. #else
  12. typedef uint32 uintptr;
  13. #endif
  14. // from sys_386.s or sys_amd64.s
  15. void ·servicemain(void);
  16. void
  17. ·getServiceMain(uintptr *r)
  18. {
  19. *r = (uintptr)·servicemain;
  20. }