db/update/InotifyQueue: catch UpdateService::Enqueue() exceptions
This commit is contained in:
		
							
								
								
									
										1
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								NEWS
									
									
									
									
									
								
							| @@ -1,5 +1,6 @@ | ||||
| ver 0.21.4 (not yet released) | ||||
| * database | ||||
|   - inotify: fix crash bug "terminate called after throwing ..." | ||||
|   - upnp: implement "list ... group" | ||||
| * output | ||||
|   - httpd: declare protocol "HTTP/1.1" instead of "ICY" | ||||
|   | ||||
| @@ -39,7 +39,15 @@ InotifyQueue::OnDelay() noexcept | ||||
| 	while (!queue.empty()) { | ||||
| 		const char *uri_utf8 = queue.front().c_str(); | ||||
|  | ||||
| 		try { | ||||
| 			id = update.Enqueue(uri_utf8, false); | ||||
| 		} catch (...) { | ||||
| 			FormatError(std::current_exception(), | ||||
| 				    "Failed to enqueue '%s'", uri_utf8); | ||||
| 			queue.pop_front(); | ||||
| 			continue; | ||||
| 		} | ||||
|  | ||||
| 		if (id == 0) { | ||||
| 			/* retry later */ | ||||
| 			delay_event.Schedule(INOTIFY_UPDATE_DELAY); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Max Kellermann
					Max Kellermann