index-pack: disable threading if NO_PREAD is defined
NO_PREAD simulates pread() as a sequence of seek, read, seek in compat/pread.c. The simulation is not thread-safe because another thread could move the file offset away in the middle of pread operation. Do not allow threading in that case. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
							parent
							
								
									b8a2486f15
								
							
						
					
					
						commit
						b038a61020
					
				|  | @ -39,6 +39,11 @@ struct base_data { | |||
| 	int ofs_first, ofs_last; | ||||
| }; | ||||
|  | ||||
| #if !defined(NO_PTHREADS) && defined(NO_PREAD) | ||||
| /* NO_PREAD uses compat/pread.c, which is not thread-safe. Disable threading. */ | ||||
| #define NO_PTHREADS | ||||
| #endif | ||||
|  | ||||
| struct thread_local { | ||||
| #ifndef NO_PTHREADS | ||||
| 	pthread_t thread; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Nguyễn Thái Ngọc Duy
						Nguyễn Thái Ngọc Duy