mirror of
				https://github.com/eledio-devices/thirdparty-littlefs.git
				synced 2025-10-31 08:42:40 +01:00 
			
		
		
		
	Merge pull request #470 from renesas/SWFLEX-1517-littlefs-thread-safe-option
Add thread safe wrappers
This commit is contained in:
		
							
								
								
									
										16
									
								
								.travis.yml
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								.travis.yml
									
									
									
									
									
								
							| @@ -224,6 +224,22 @@ jobs: | |||||||
|     # report-size will compile littlefs and report the size |     # report-size will compile littlefs and report the size | ||||||
|     script: [*report-size] |     script: [*report-size] | ||||||
|  |  | ||||||
|  |   # test compilation in thread-safe mode | ||||||
|  |   - stage: test | ||||||
|  |     env: | ||||||
|  |       - NAME=littlefs-threadsafe | ||||||
|  |       - CC="arm-linux-gnueabi-gcc --static -mthumb" | ||||||
|  |       - CFLAGS="-Werror -DLFS_THREADSAFE" | ||||||
|  |     if: branch !~ -prefix$ | ||||||
|  |     install: | ||||||
|  |       - *install-common | ||||||
|  |       - sudo apt-get install | ||||||
|  |             gcc-arm-linux-gnueabi | ||||||
|  |             libc6-dev-armel-cross | ||||||
|  |       - arm-linux-gnueabi-gcc --version | ||||||
|  |     # report-size will compile littlefs and report the size | ||||||
|  |     script: [*report-size] | ||||||
|  |  | ||||||
|   # self-host with littlefs-fuse for fuzz test |   # self-host with littlefs-fuse for fuzz test | ||||||
|   - stage: test |   - stage: test | ||||||
|     env: |     env: | ||||||
|   | |||||||
							
								
								
									
										11
									
								
								lfs.h
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								lfs.h
									
									
									
									
									
								
							| @@ -9,6 +9,7 @@ | |||||||
|  |  | ||||||
| #include <stdint.h> | #include <stdint.h> | ||||||
| #include <stdbool.h> | #include <stdbool.h> | ||||||
|  | #include "lfs_util.h" | ||||||
|  |  | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| extern "C" | extern "C" | ||||||
| @@ -180,6 +181,16 @@ struct lfs_config { | |||||||
|     // are propogated to the user. |     // are propogated to the user. | ||||||
|     int (*sync)(const struct lfs_config *c); |     int (*sync)(const struct lfs_config *c); | ||||||
|  |  | ||||||
|  | #ifdef LFS_THREADSAFE | ||||||
|  |     // Lock the underlying block device. Negative error codes | ||||||
|  |     // are propogated to the user. | ||||||
|  |     int (*lock)(const struct lfs_config *c); | ||||||
|  |  | ||||||
|  |     // Unlock the underlying block device. Negative error codes | ||||||
|  |     // are propogated to the user. | ||||||
|  |     int (*unlock)(const struct lfs_config *c); | ||||||
|  | #endif | ||||||
|  |  | ||||||
|     // Minimum size of a block read. All read operations will be a |     // Minimum size of a block read. All read operations will be a | ||||||
|     // multiple of this value. |     // multiple of this value. | ||||||
|     lfs_size_t read_size; |     lfs_size_t read_size; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user