mirror of
				https://github.com/deepseek-ai/3FS
				synced 2025-06-26 18:16:45 +00:00 
			
		
		
		
	bugfix: throw runtime error early on sem_open fail
Signed-off-by: xbli10 <xbli10@iflytek.com>
This commit is contained in:
		
							parent
							
								
									2db69ced80
								
							
						
					
					
						commit
						b2f10371b4
					
				| @ -218,7 +218,11 @@ struct IoRingTable { | |||||||
|   void init(int cap) { |   void init(int cap) { | ||||||
|     for (int prio = 0; prio <= 2; ++prio) { |     for (int prio = 0; prio <= 2; ++prio) { | ||||||
|       auto sp = "/" + semOpenPath(prio); |       auto sp = "/" + semOpenPath(prio); | ||||||
|       sems.emplace_back(sem_open(sp.c_str(), O_CREAT, 0666, 0), [sp](sem_t *p) { |       auto ptr = sem_open(sp.c_str(), O_CREAT, 0666, 0); | ||||||
|  |       if (SEM_FAILED == ptr) { | ||||||
|  |         throw std::runtime_error(fmt::format("Failed create a named semaphore, name {}", sp.c_str())); | ||||||
|  |       } | ||||||
|  |       sems.emplace_back(ptr, [sp](sem_t *p) { | ||||||
|         sem_close(p); |         sem_close(p); | ||||||
|         sem_unlink(sp.c_str()); |         sem_unlink(sp.c_str()); | ||||||
|       }); |       }); | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user