mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 03:02:25 -05:00 
			
		
		
		
	[experiment] add alternative wasm sqlite3 implementation available via build-tag (#2863)
This allows for building GoToSocial with [SQLite transpiled to WASM](https://github.com/ncruces/go-sqlite3) and accessed through [Wazero](https://wazero.io/).
This commit is contained in:
		
					parent
					
						
							
								cce21c11cb
							
						
					
				
			
			
				commit
				
					
						1e7b32490d
					
				
			
		
					 398 changed files with 86174 additions and 684 deletions
				
			
		
							
								
								
									
										33
									
								
								vendor/github.com/ncruces/go-sqlite3/vfs/os_bsd.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								vendor/github.com/ncruces/go-sqlite3/vfs/os_bsd.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,33 @@ | |||
| //go:build (freebsd || openbsd || netbsd || dragonfly || illumos || sqlite3_flock) && !sqlite3_nosys | ||||
| 
 | ||||
| package vfs | ||||
| 
 | ||||
| import ( | ||||
| 	"os" | ||||
| 	"time" | ||||
| 
 | ||||
| 	"golang.org/x/sys/unix" | ||||
| ) | ||||
| 
 | ||||
| func osUnlock(file *os.File, start, len int64) _ErrorCode { | ||||
| 	if start == 0 && len == 0 { | ||||
| 		err := unix.Flock(int(file.Fd()), unix.LOCK_UN) | ||||
| 		if err != nil { | ||||
| 			return _IOERR_UNLOCK | ||||
| 		} | ||||
| 	} | ||||
| 	return _OK | ||||
| } | ||||
| 
 | ||||
| func osLock(file *os.File, how int, def _ErrorCode) _ErrorCode { | ||||
| 	err := unix.Flock(int(file.Fd()), how) | ||||
| 	return osLockErrorCode(err, def) | ||||
| } | ||||
| 
 | ||||
| func osReadLock(file *os.File, _ /*start*/, _ /*len*/ int64, _ /*timeout*/ time.Duration) _ErrorCode { | ||||
| 	return osLock(file, unix.LOCK_SH|unix.LOCK_NB, _IOERR_RDLOCK) | ||||
| } | ||||
| 
 | ||||
| func osWriteLock(file *os.File, _ /*start*/, _ /*len*/ int64, _ /*timeout*/ time.Duration) _ErrorCode { | ||||
| 	return osLock(file, unix.LOCK_EX|unix.LOCK_NB, _IOERR_LOCK) | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue