aboutsummaryrefslogtreecommitdiff
path: root/internal/threadtest2/threadtest2_linux_386.go
diff options
context:
space:
mode:
authorJan Mercl <0xjnml@gmail.com>2019-12-18 17:51:11 +0100
committerJan Mercl <0xjnml@gmail.com>2019-12-18 17:51:11 +0100
commit0bd6d67fefae8bb593662c01bd539776019681a8 (patch)
tree12124ac1d27826cea1c39f115f2c24a835deadb3 /internal/threadtest2/threadtest2_linux_386.go
parent8afe3d5bd9a307c22902c09273e89729cf4469ce (diff)
prepare pre-alpha release
Diffstat (limited to 'internal/threadtest2/threadtest2_linux_386.go')
-rw-r--r--internal/threadtest2/threadtest2_linux_386.go187
1 files changed, 0 insertions, 187 deletions
diff --git a/internal/threadtest2/threadtest2_linux_386.go b/internal/threadtest2/threadtest2_linux_386.go
deleted file mode 100644
index 725b58c..0000000
--- a/internal/threadtest2/threadtest2_linux_386.go
+++ /dev/null
@@ -1,187 +0,0 @@
-modernc.orgd by ccgo. DO NOT EDIT.
-
-// threadtest2
-// /*
-// ** 2004 January 13
-// **
-// ** The author disclaims copyright to this source code. In place of
-// ** a legal notice, here is a blessing:
-// **
-// ** May you do good and not evil.
-// ** May you find forgiveness for yourself and forgive others.
-// ** May you share freely, never taking more than you give.
-// **
-// *************************************************************************
-// ** This file implements a simple standalone program used to test whether
-// ** or not the SQLite library is threadsafe.
-// **
-// ** This file is NOT part of the standard SQLite library. It is used for
-// ** testing only.
-// */
-package main
-
-import (
- "math"
- "os"
- "unsafe"
-
- "modernc.org/ccgo/crt"
- "modernc.org/sqlite/internal/bin"
-)
-
-var argv []*int8
-
-func main() {
- for _, v := range os.Args {
- argv = append(argv, (*int8)(crt.CString(v)))
- }
- argv = append(argv, nil)
- X_start(crt.NewTLS(), int32(len(os.Args)), &argv[0])
-}
-
-func X_start(tls *crt.TLS, _argc int32, _argv **int8) {
- crt.X__register_stdfiles(tls, Xstdin, Xstdout, Xstderr)
- crt.X__builtin_exit(tls, Xmain(tls, _argc, _argv))
-}
-
-var Xstdin unsafe.Pointer
-
-func init() {
- Xstdin = unsafe.Pointer(&X__stdfiles)
-}
-
-var X__stdfiles [3]unsafe.Pointer
-
-var Xstdout unsafe.Pointer
-
-func init() {
- Xstdout = unsafe.Pointer(uintptr(unsafe.Pointer(&X__stdfiles)) + 4)
-}
-
-var Xstderr unsafe.Pointer
-
-func init() {
- Xstderr = unsafe.Pointer(uintptr(unsafe.Pointer(&X__stdfiles)) + 8)
-}
-
-// C comment
-// /*
-// ** Initialize the database and start the threads
-// */
-func Xmain(tls *crt.TLS, _argc int32, _argv **int8) (r0 int32) {
- var _i, _rc int32
- var _1_zJournal *int8
- var _db unsafe.Pointer
- var _aThread [5]uint32
- r0 = int32(0)
- if crt.Xstrcmp(tls, str(0), str(8)) != 0 {
- _1_zJournal = bin.Xsqlite3_mprintf(tls, str(17), unsafe.Pointer(str(0)))
- crt.Xunlink(tls, str(0))
- crt.Xunlink(tls, _1_zJournal)
- bin.Xsqlite3_free(tls, unsafe.Pointer(_1_zJournal))
- }
- bin.Xsqlite3_open(tls, str(0), (**bin.Xsqlite3)(unsafe.Pointer(&_db)))
- if _db == nil {
- crt.Xfprintf(tls, (*crt.XFILE)(Xstderr), str(28))
- crt.Xexit(tls, int32(1))
- }
- _rc = bin.Xsqlite3_exec(tls, (*bin.Xsqlite3)(_db), str(59), nil, nil, nil)
- if _rc != 0 {
- crt.Xfprintf(tls, (*crt.XFILE)(Xstderr), str(79), _rc)
- crt.Xexit(tls, int32(1))
- }
- bin.Xsqlite3_close(tls, (*bin.Xsqlite3)(_db))
- _i = int32(0)
-_3:
- if uint32(_i) >= uint32(5) {
- goto _6
- }
- crt.Xpthread_create(tls, elem0((*uint32)(unsafe.Pointer(&_aThread)), uintptr(_i)), nil, Xworker, crt.U2P(uintptr(_i)))
- _i += 1
- goto _3
-_6:
- _i = int32(0)
-_7:
- if uint32(_i) >= uint32(5) {
- goto _10
- }
- crt.Xpthread_join(tls, *elem0((*uint32)(unsafe.Pointer(&_aThread)), uintptr(_i)), nil)
- _i += 1
- goto _7
-_10:
- if Xall_stop == 0 {
- crt.Xprintf(tls, str(107))
- return int32(0)
- }
- crt.Xprintf(tls, str(129))
- return int32(1)
-
- _ = _aThread
- panic(0)
-}
-
-// C comment
-// /*
-// ** This is the worker thread
-// */
-func Xworker(tls *crt.TLS, _workerArg unsafe.Pointer) (r0 unsafe.Pointer) {
- var _id, _rc, _cnt int32
- var _db unsafe.Pointer
- _id = int32(crt.P2U(_workerArg))
- _cnt = int32(0)
- crt.Xfprintf(tls, (*crt.XFILE)(Xstderr), str(147), _id)
-_0:
- if Xall_stop != 0 || postInc1(&_cnt, 1) >= int32(10000) {
- goto _1
- }
- if (_cnt % int32(100)) == int32(0) {
- crt.Xprintf(tls, str(167), _id, _cnt)
- }
-_3:
- if bin.Xsqlite3_open(tls, str(0), (**bin.Xsqlite3)(unsafe.Pointer(&_db))) != int32(0) {
- crt.Xsched_yield(tls)
- goto _3
- }
- bin.Xsqlite3_exec(tls, (*bin.Xsqlite3)(_db), str(175), nil, nil, nil)
- if Xall_stop != 0 {
- bin.Xsqlite3_close(tls, (*bin.Xsqlite3)(_db))
- goto _1
- }
- _rc = bin.Xsqlite3_exec(tls, (*bin.Xsqlite3)(_db), str(198), nil, nil, nil)
- bin.Xsqlite3_close(tls, (*bin.Xsqlite3)(_db))
- goto _0
-_1:
- crt.Xfprintf(tls, (*crt.XFILE)(Xstderr), str(234), _id)
- return nil
-
- _ = _rc
- panic(0)
-}
-
-// C comment
-// /*
-// ** When this variable becomes non-zero, all threads stop
-// ** what they are doing.
-// */
-var Xall_stop int32
-
-func bool2int(b bool) int32 {
- if b {
- return 1
- }
- return 0
-}
-func bug20530(interface{}) {} //TODO remove when https://github.com/golang/go/issues/20530 is fixed.
-func init() { nzf32 *= -1; nzf64 *= -1 }
-
-var inf = math.Inf(1)
-var nzf32 float32 // -0.0
-var nzf64 float64 // -0.0
-func elem0(a *uint32, index uintptr) *uint32 {
- return (*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 4*index))
-}
-func postInc1(p *int32, d int32) int32 { v := *p; *p += d; return v }
-func str(n int) *int8 { return (*int8)(unsafe.Pointer(&strTab[n])) }
-func wstr(n int) *int32 { return (*int32)(unsafe.Pointer(&strTab[n])) }
-
-var strTab = []byte("test.db\x00:memory:\x00%s-journal\x00unable to initialize database\x0a\x00CREATE TABLE t1(x);\x00cannot create table t1: %d\x0a\x00Everything seems ok.\x0a\x00We hit an error.\x0a\x00Starting worker %d\x0a\x00%d: %d\x0a\x00PRAGMA synchronous=OFF\x00INSERT INTO t1 VALUES('bogus data')\x00Worker %d finished\x0a\x00")