[API reference](https://evolu.dev/docs/api-reference) › [@evolu/sqlite-wasm](https://evolu.dev/docs/api-reference/sqlite-wasm) › [c-api](https://evolu.dev/docs/api-reference/sqlite-wasm/c-api) › sqlite3\_shutdown

```ts
function sqlite3_shutdown(deps: SqliteWasmDep): () => SqliteResultCode;
```

Defined in: [packages/sqlite-wasm/src/CApi.ts:758](https://github.com/evoluhq/evolu/blob/bc4578a260dd15d5bbf94b83765ca05984d194cb/packages/sqlite-wasm/src/CApi.ts#L758)

Deallocates the resources [sqlite3\_initialize](https://evolu.dev/docs/api-reference/sqlite-wasm/c-api/functions/sqlite3_initialize) allocated. Every
connection must be closed and every other SQLite resource freed first; only
the first call after an initialization has an effect. Then initialize the
library again with initializeSqliteWasm. sqlite3_initialize alone, or any
call that initializes the library itself, such as an open, makes the unix VFS
the default again, from which the generator of [sqlite3\_randomness](https://evolu.dev/docs/api-reference/sqlite-wasm/c-api/functions/sqlite3_randomness),
when reset or unused since loading, seeds itself with the time and a constant
pid instead of RandomBytes, and registers kvvfs again, which traps when
:localStorage: is opened.

Wasm type `i()`. Signature `["sqlite3_shutdown", undefined]` from SQLite's
table, with the result corrected: SQLite's table declares no result, but the
C function returns a result code, as the wasm type shows.

See https://sqlite.org/c3ref/initialize.html.