aboutsummaryrefslogtreecommitdiff
path: root/src/os_unix.c
Commit message (Collapse)AuthorAge
...
* | Experimental changes to put sqlite3_temp_directory behind a mutex.drh2022-09-02
| | | | | | FossilOrigin-Name: 5ee3515fbb88bf1ae5f8b507844f82dcc429380b6ebeab9b09b52b25ee60a60d
* | Add the (undocumented) SQLITE_DEFAULT_UNIX_VFS compile-time option.drh2022-08-12
| | | | | | FossilOrigin-Name: 49828bdec5f926cd18a069d39a5db0b1e1f3528a2affcfbaa1cf7b98aca51b3b
* | Fix harmless compiler warnings in the new unixFullPathname implementation.drh2022-05-17
| | | | | | FossilOrigin-Name: f7e1ceb5b59a876cfd04a8aac0ee2b322c970555b9c361b4953d711ef6596e37
* | Use osReadlink() in os_unix.c, not readlink() directly.drh2022-05-11
| | | | | | FossilOrigin-Name: c3da4c1611cebd9f9d695892a3ffddc47d5f0db1a1ea8bd2b4f83ef7673b68de
* | For the unix VFS, rewrite the xFullPathname method so that it automaticallydrh2022-05-11
| | | | | | | | | | | | resolves all symbolic links, rendering a canonical pathname that contains no symlinks. FossilOrigin-Name: 40c9273d0e0e74e1df22e996a5d486e838f4320defd2121e2d95eeed8aea6235
* | Harden the xShmLock method of both the unix and Windows VFSes so that theydrh2022-03-22
| | | | | | | | | | are robust against being invoked when the SHM file is not open. FossilOrigin-Name: 67d8b434f628d44c4a90ce8ff5ab2e381f500bb42bdbfab9a17d21925a2ec6cd
* | Improve the defenses against bad pathnames input into the findCreateFileMode()drh2022-03-09
| | | | | | | | | | | | | | function of os_unix.c in order to quiet static-analyzer warnings. There are no demonstrated problems in the prior code, but this change makes the code easier to prove correct and more robust against future changes. FossilOrigin-Name: a9cda38997a692e25d2fe994a9a3fb9472c00ba04323c82e706fdb1112d4244e
* | Fix a benign data race in os_unix.c that might trouble tsan and similar tools.dan2021-11-19
| | | | | | FossilOrigin-Name: 95806ac1dabe4598170061d903ae30f09bafac149ff6696963a7e056ac846cdb
* | Add #ifdef logic to os_unix.c so that it builds with SQLITE_OMIT_WAL defined.dan2021-11-02
| | | | | | FossilOrigin-Name: 948c2cb2a2f44ba069cfbf5e9a57e56964f3a40db57459bb439bea9c3bd9f211
* | Provide an assert() to fire for applications that should never open or createdrh2021-10-23
| | | | | | | | | | a disk-based database file. FossilOrigin-Name: 5218ac788ca35fdd7f98117758f0bef9d55fe7517098e7bf62fda3fed2af3d51
* | Back out the SQLITE_OPEN_EXCLUSIVE changes because it does not work ondrh2021-10-13
| | | | | | | | | | Windows and it does not work always on unix. FossilOrigin-Name: d008ad793dfb11c287f366377cbc561acedef6c9d08b1557f463484eda41a84e
* | Allow the SQLITE_OPEN_EXCLUSIVE flag in sqlite3_open(). Return thedrh2021-06-24
| | | | | | | | | | | | SQLITE_CANTOPEN_EXISTS extended code to indicate that the open failed because the database already exists. FossilOrigin-Name: d091150ff80709a1e50e0431aa33021f036979e4a88e9769eeec431dfad6d5f5
* | Fix some minor #ifdef issues so that all of the supported compile-timedrh2021-06-15
| | | | | | | | | | options continue to build. FossilOrigin-Name: d8cf407046f20b0398f19acd0dab6acb6c742911e21e1003cb5b194dd668d98e
* | Fix a formatting error on the comment.drh2021-05-19
| | | | | | FossilOrigin-Name: 6f2fb60e499fc758bea6ffec030fef8ab5f97d08d31450f0b3ffafc20e652891
* | Add a table of shared-memory lock offsets in a comment in the os_unix.c code.drh2021-05-19
| | | | | | | | | | Include some assert()s to help verify the numbers. FossilOrigin-Name: b480aacb3430a789d98ffd81a1886bbbc3cda5b0e736ec9a3e2b463db2a3b3ad
* | Add experimental SQLITE_FCNTL_EXTERNAL_READER file control.dan2021-04-02
| | | | | | FossilOrigin-Name: e16da5af822ef31d7e05992403cf9787fbb3d9abb0b5283aba55ea07e1830a72
* | Fix a problem with the filename normalizer in unix, discovered by dbsqlfuzz.drh2021-03-18
| | | | | | FossilOrigin-Name: ff1eca7fcdcbc550a5f23db9d85281e5373500912699a7c7ae54bc0df0547e26
* | In os_unix.c, put ALWAYS() on unreachable branches associated with pathnamedrh2020-11-23
| | | | | | | | | | normalization. FossilOrigin-Name: b45a08e3c7edfa76b699d3e29f28daa5bd08039668ec57121e4e85edf36150f1
* | The xFullPathname method of the unix VFS now normalizes the filenames bydrh2020-11-19
|\ \ | | | | | | | | | | | | omitting surplus "/", "/./" and "/../" strings. FossilOrigin-Name: c38dec6f52c01614c1bee8356daf0fcd9f708d029116e9bff51e06719a730dde
| * | Enhance the unix VFS so that it removes extra "/", "/./" and "/../" fromdrh2020-11-16
| | | | | | | | | | | | | | | the database filename. FossilOrigin-Name: 7ba89d3e5c68d970ed26c2ec6e6e34bae535c2cc0b22a022d20ac9ff4527b8ab
* | | Improvements to the mechanism that attempts to report SQLITE_CORRUPT ifdrh2020-11-18
| | | | | | | | | | | | | | | pread() says that the underlying filesystem is corrupt. FossilOrigin-Name: b887c7504e7edeba758f3c1203c6cc56eef499fe05e7e6c6d82939bf7d78c57f
* | | On unix, for certain error codes of read()/pread() returndrh2020-11-18
|/ / | | | | | | | | | | SQLITE_IOERR_CORRUPTFS instead of SQLITE_IOERR_READ. And then convert this error into SQLITE_CORRUPT prior to returning back to the application. FossilOrigin-Name: 9538ea8447e7b07c05197d6ff2208d3e97b45798736c85b63e8f0c7a3a98c1f3
* | Add ALWAYS() to conditionals associated with SHM locking that are always true.drh2020-11-06
| | | | | | FossilOrigin-Name: b599e89076d60afede7d2b3503b9338ca863d0c2d25799afe4080a6186386ea9
* | Do not invoke usleep() for more than 999999 microseconds.drh2020-09-15
| | | | | | FossilOrigin-Name: 1f5ed852f25515bbc0a7aaf236fdef40fa7e31805eee1249277fde4e68f95130
* | Ensure that the busy-handler count is reset at the end of each ↵dan2020-09-04
| | | | | | | | | | sqlite3_file_control() and sqlite3_prepare() (and _v2() and _v3()). FossilOrigin-Name: 5dd05940617fb05ee2faf212b15afc3a8e9695318eccb76761b37359fea681d1
* | Fix handling of an xShmLock(SHARED, UNLOCK) call when the caller does not ↵dan2020-08-28
| | | | | | | | | | hold any lock on the specified slot, but another connection in the same process holds an EXCLUSIVE. FossilOrigin-Name: 3eb365027b885e1f61965efd53a3643b6ff441ae01e79038a091314516a50dd4
* | Modify the unixShmLock() function to avoid iterating through the (possibly ↵dan2020-08-28
| | | | | | | | | | large) set of connections to the same database file. FossilOrigin-Name: e0faddf0dfc3a40b6b94408296dd781dd0264ecc9f2129ce4405438433fb00e0
* | Try to make SQLite easier to compiler for Mac Catalyst. See drh2020-08-19
| | | | | | | | | | [https://sqlite.org/forum/forumpost/803387a1c5|forum post 803387a1c5]. FossilOrigin-Name: e1595a20d71e61957944cc2b634578968cda8fba08a1f1e75edba20dc9c6080b
* | Fix other potentiall pointer aliasing problems associated with subclassingdrh2020-07-24
|/ | | | | of the sqlite3_file object for various VFS implementations. FossilOrigin-Name: 270ac1a0f232d75537be40abae559004e950b992cb2c7e94cd6de66e96ae17bd
* Extend the refactoring into extensions. Clean up stray newlines.drh2020-06-19
| | | FossilOrigin-Name: 7a876209a678a34c198b54ceef9e3c041f128a14dc73357f6a57cadadaa6cf7b
* Refactoring various names. No changes in the resulting machine code.drh2020-06-19
| | | FossilOrigin-Name: 7bb08b1bfcf184e4b59c8c9028926a0052612ff6a6731914ccdb8dee07ea4a98
* Expand upon a comment in os_unix.c. No changes to code.dan2020-05-29
| | | FossilOrigin-Name: 77933dc4dbe0e0af3b13a14293a8bd684edc5056f4ae9291c6f95d4433bf90ce
* Fix a problem preventing building without SQLITE_ENABLE_SETLK_TIMEOUT defined.dan2020-05-06
| | | FossilOrigin-Name: 98eb54c6d83992886f17a00b6fc8998df230e3b5f45bafc6fae0d15a9ee5a4c6
* Add error code SQLITE_BUSY_TIMEOUT, used internally by the OS layer to ↵dan2020-05-06
| | | | | indicate that a call to xShmLock() has failed due to timeout of a blocking lock. FossilOrigin-Name: f3ef9c7c2b4ba3de1057ad569f068b241d5f23e6629d8e0dacf85e57fd13b8aa
* Add tests for running recovery when opening a write transaction or ↵dan2020-05-06
| | | | | performing a checkpoint with blocking locks enabled. Fix some failing assert() statements. FossilOrigin-Name: d096ea3fe20f8af90f9e3f798fd0a69527b32ac8e208ade58b9d0af0e831f41b
* Unless upgrading an existing read transaction, have ENABLE_SETLK_TIMEOUT ↵dan2020-05-05
| | | | | builds attempt to use a blocking lock when opening a write transaction on a wal mode database. FossilOrigin-Name: d6f819a9e6b35f3fd558bd93255a6a24ad690a0fa15a82b009ca9c641db983c6
* Do not use O_NOFOLLOW when opening a directory just to call fsync() ondrh2020-04-20
| | | | | that directory. FossilOrigin-Name: 2fc80ef16ce5878311ab88a0c64631813572ffbb71f75363b4619c9667e0926b
* Modifications to the way blocking locks are used in ↵dan2020-03-27
| | | | | SQLITE_ENABLE_SETLK_TIMEOUT builds so that multiple processes or threads may not deadlock when operating on a single database. FossilOrigin-Name: c516027d5fd876b7d0bf566435667d554db29ded30ad6fc1165caa4a93d015a0
* Omit O_NOFOLLOW from the open() call when opening /dev/null, since /dev/nulldrh2020-02-13
| | | | | is a symlink on Solaris, we are told. FossilOrigin-Name: 0c683c43a62fe25c6cb765e4a31556ec91a7c21af79349b3d7eeb13f73dd1cdc
* Follow-up to check-in [c8c6dd0e6582ec91] - change the xAccess() method todrh2019-12-27
| | | | | | return true if the file exists and it is anything other than a regular file, or if it is a regular file with a non-zero file size. FossilOrigin-Name: 8a39803ef8db4d8cb0d231e66299525fad4e61266ca29b3704aebb88df1c745b
* In the xAccess() method of the unix VFS, return true if the named objectdrh2019-12-26
| | | | | | | is a directory, regardless of what stat() reports as the st_size for the object. Different filesystems report st_size differently for directories. Problem reported on the mailing list by Stefan Brüns. FossilOrigin-Name: c8c6dd0e6582ec9103d007b294c42bb1820be1fa7dab85d873b04e0b90571626
* Revise the SQLITE_OPEN_NOFOLLOW so that it actually uses O_NOFOLLOW in thedrh2019-11-22
| | | | | | | | open() system call. This backs out the SQLITE_ACCESS_SYMLINK value but adds the new SQLITE_OK_SYMLINK return code from the xFullPathname method of sqlite3_vfs when that routine resolves symbolic links. O_NOFOLLOW is always included in open() system calls for journal files. FossilOrigin-Name: 6a64fb6a2da6c98f1e87b55ad5689967e1db4eae2e08345471d95e28cd567e0f
* Add support for SQLITE_OPEN_NOFOLLOW.drh2019-11-18
| | | FossilOrigin-Name: cb79c828496a703f1410f61458ebc1e15a92a63412b36f51945b2b5a32ec6e88
* Allow compile-time options -DHAVE_GETHOSTUUID=0 and -DHAVE_GETHOSTUUID=1.drh2019-09-27
| | | FossilOrigin-Name: 3bcb9cc104e0265a600b03415ad955187fc6445ea8e46dc656412cba5bc1d621
* In the previous check-in, the variable should be openMode, not openFlags.drh2019-09-25
| | | FossilOrigin-Name: 77b0db22d6c7a031f332bfcf1c8fcd94e464de9f2396f0327ee761a30ebc8b60
* In the unix VFS layer, do not attempt to chown() the journal to be the samedrh2019-09-25
| | | | | | as the database if running in 8+3 filename mode. Also, update the comments on the chown() attempt to be more precise. FossilOrigin-Name: ab853724a7e01ca32167d294c3c80d6632e805bdf39b6d56db82226a00ad72dc
* Improved reuse of file descriptors for which close() is delayed to preventdrh2019-08-06
| | | | | clearly of posix advisory locks. FossilOrigin-Name: 509c1ba26a4c12c63ecf04ddfa2f175eaf4dd9b96ab7be15faebd36deb0a0a31
* Call ioctl() with the correct signature on both Android and stock Linux.dan2019-07-15
| | | FossilOrigin-Name: 68e12e063fe41bcd65cf8a120f838b9b1723ed803ea85240fe0f2145b78df2d7
* Remove unreachable "break" statements to silence harmless compiler warningsdrh2019-07-13
| | | | | from ICC. FossilOrigin-Name: 0d7287e1bfdd5a392bf2fb17699e7cfd0b08bf61fab6cbf4b4bb347b3c4b4610
* Back out the change to support Fuchsia, since it turns out fuchsia does notdrh2019-03-15
| | | | | like dot-file locks. FossilOrigin-Name: 1d801a3b2c48dc8a918d6da047bc877acf033d5f5c4e1d4b412ba7678ed6f8b3